<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Exchange Powershell</title>
	<atom:link href="http://www.exchange-powershell.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.exchange-powershell.com</link>
	<description>Exchange and Powershell Helps, Tips, and Tricks</description>
	<lastBuildDate>Mon, 12 Jul 2010 17:23:19 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
<meta xmlns="http://www.w3.org/1999/xhtml" name="robots" content="noindex,follow" />
		<item>
		<title>List Members of a Dynamic Distribution List</title>
		<link>http://www.exchange-powershell.com/2010/07/12/list-members-of-a-dynamic-distribution-list/</link>
		<comments>http://www.exchange-powershell.com/2010/07/12/list-members-of-a-dynamic-distribution-list/#comments</comments>
		<pubDate>Mon, 12 Jul 2010 17:23:19 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Exchange]]></category>
		<category><![CDATA[GAL - Global Address List]]></category>
		<category><![CDATA[get-dynamicdistributiongroup]]></category>
		<category><![CDATA[get-recipient]]></category>
		<category><![CDATA[RecipientPreviewFilter]]></category>
		<category><![CDATA[Select]]></category>
		<category><![CDATA[Sort]]></category>

		<guid isPermaLink="false">http://www.exchange-powershell.com/?p=5675</guid>
		<description><![CDATA[This post was inspired by a post found on www.howexchangeworks.com But I have modified the commands some to get a better listing. $group = Get-DynamicDistributionGroup –identity “AllStaff” Get-Recipient –RecipientPreviewFilter $group.RecipientFilter &#124; sort name &#124; select name > d:\_temp\dlist_members.txt These changes will give you an alphabetical list of members, with names only in the list. I [...]]]></description>
			<content:encoded><![CDATA[<p>This post was inspired by a post found on <a href="http://www.howexchangeworks.com/2009/10/task-listing-members-of-exchange-2007.html">www.howexchangeworks.com</a></p>
<p>But I have modified the commands some to get a better listing.</p>
<blockquote><p>$group = Get-DynamicDistributionGroup –identity “AllStaff”</p></blockquote>
<blockquote><p>Get-Recipient –RecipientPreviewFilter $group.RecipientFilter | sort name | select name > d:\_temp\dlist_members.txt</p></blockquote>
<p>These changes will give you an alphabetical list of members, with names only in the list.   I find this easier for managers to use to verify list membership.</p>
<p>The list we have uses the PO filed to filter it.  So we then just have to go to the user account and add specific text in the PO filed to add or remove them from the distribution list.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.exchange-powershell.com/2010/07/12/list-members-of-a-dynamic-distribution-list/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>List of Hidden Distribution Group</title>
		<link>http://www.exchange-powershell.com/2010/07/06/list-of-hidden-distribution-group/</link>
		<comments>http://www.exchange-powershell.com/2010/07/06/list-of-hidden-distribution-group/#comments</comments>
		<pubDate>Tue, 06 Jul 2010 20:45:05 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[GAL - Global Address List]]></category>
		<category><![CDATA[Powershell]]></category>
		<category><![CDATA[get-distributiongroup]]></category>
		<category><![CDATA[Select]]></category>
		<category><![CDATA[Where]]></category>

		<guid isPermaLink="false">http://www.exchange-powershell.com/?p=5673</guid>
		<description><![CDATA[You may find that you need to get a list of all of the distribution groups in your Exchange Organization that are hidden from the GAL (Global Address List). The following command is a simple powershell command that will accomplish this. get-distributiongroup &#124; select name, hiddenfromaddresslistsenabled &#124; WHERE {$_.HiddenFromAddressListsEnabled -eq $true } This will give [...]]]></description>
			<content:encoded><![CDATA[<p>You may find that you need to get a list of all of the distribution groups in your Exchange Organization that are hidden from the GAL (Global Address List).   The following command is a simple powershell command that will accomplish this.</p>
<blockquote><p>get-distributiongroup | select name, hiddenfromaddresslistsenabled | WHERE {$_.HiddenFromAddressListsEnabled -eq $true }</p></blockquote>
<p>This will give you a two columned list.  The first column will contain the name of the distribtuion list, and the second column will contain the value of the HiddenFromAddressListsEnabled field.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.exchange-powershell.com/2010/07/06/list-of-hidden-distribution-group/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to hide a Distribution Group from the GAL with Powershell</title>
		<link>http://www.exchange-powershell.com/2010/07/06/how-to-hide-a-distribution-group-from-the-gal-with-powershell/</link>
		<comments>http://www.exchange-powershell.com/2010/07/06/how-to-hide-a-distribution-group-from-the-gal-with-powershell/#comments</comments>
		<pubDate>Tue, 06 Jul 2010 20:35:54 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[GAL - Global Address List]]></category>
		<category><![CDATA[Powershell]]></category>
		<category><![CDATA[Global Address List]]></category>
		<category><![CDATA[set-distributiongroup]]></category>

		<guid isPermaLink="false">http://www.exchange-powershell.com/?p=5669</guid>
		<description><![CDATA[Here is a simple command that will save you some time. Instead of having to open up a GUI, you can just type this command in a PowerShell window and hide a Group from the GAL (Global Address List) set-distributiongroup [GROUPNAME] -HiddenFromAddressListsEnabled $true This will then hide the list from the GAL. No need to [...]]]></description>
			<content:encoded><![CDATA[<p>Here is a simple command that will save you some time.  Instead of having to open up a GUI, you can just type this command in a PowerShell window and hide a Group from the GAL (Global Address List)</p>
<blockquote><p>set-distributiongroup [GROUPNAME] -HiddenFromAddressListsEnabled $true</p></blockquote>
<p>This will then hide the list from the GAL.  No need to go into the GUI to get it done.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.exchange-powershell.com/2010/07/06/how-to-hide-a-distribution-group-from-the-gal-with-powershell/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Script &#8211; Mailbox Audit</title>
		<link>http://www.exchange-powershell.com/2010/06/03/script-mailbox-audit/</link>
		<comments>http://www.exchange-powershell.com/2010/06/03/script-mailbox-audit/#comments</comments>
		<pubDate>Thu, 03 Jun 2010 17:58:15 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[PowerShell V2]]></category>
		<category><![CDATA[scripts]]></category>
		<category><![CDATA[get-mailbox]]></category>
		<category><![CDATA[get-mailboxpermission]]></category>
		<category><![CDATA[get-user]]></category>
		<category><![CDATA[new-object]]></category>

		<guid isPermaLink="false">http://www.exchange-powershell.com/?p=5662</guid>
		<description><![CDATA[This is a script I wrote that will look for specific email accounts in an OU, and then send an email to all the people who have access to those email accounts. &#8212; Start of Script &#8211; #$ErrorActionPreference = "SilentlyContinue" $smtpServer = "[REMOVED]" $smtp = new-object Net.Mail.SmtpClient($smtpServer) $emailFrom = "mkieffer@[REMOVED]" $a = get-user -OrganizationalUnit "[REMOVED]/Corp/Email [...]]]></description>
			<content:encoded><![CDATA[<p>This is a script I wrote that will look for specific email accounts in an OU, and then send an email to all the people who have access to those email accounts.</p>
<p>&#8212; Start of Script &#8211;<br />
<code>#$ErrorActionPreference = "SilentlyContinue"<br />
$smtpServer = "[REMOVED]"<br />
$smtp = new-object Net.Mail.SmtpClient($smtpServer)<br />
$emailFrom = "mkieffer@[REMOVED]"</p>
<p>$a = get-user -OrganizationalUnit "[REMOVED]/Corp/Email Accounts" | where {$_.DistinguishedName -notlike '*OU=Contacts,OU=Email Accounts,OU=[REMOVED]' -and $_.DistinguishedName -notlike '*OU=Resources,OU=Email Accounts,OU=[REMOVED]'} | sort name</p>
<p>foreach ($item in $a) {</p>
<p>$mailboxName = $item.name<br />
$mailboxAddress = $item.WindowsEmailAddress<br />
$body = "We are in the process of auditing access rights to shared mailboxes.  According to our audit, you have access to the mailbox ""$mailboxName"".</p>
<p>"<br />
$smtpAddresses = get-mailbox $mailboxName | select -expand EmailAddresses | %{$_.SmtpAddress}<br />
$body += "This mailbox has the following email addresses:<br />
$smtpAddresses</p>
<p>Primary Contact:  [None Specified]</p>
<p>"<br />
$body += "The Following employees have full access to this mailbox:`r`n"<br />
$subject = ""<br />
$emailTo = "mkieffer@[REMOVED]"<br />
$subject = "Audit of mailbox $mailboxName ($mailboxAddress)"<br />
echo "$mailboxName ($mailboxAddress)"<br />
$b = get-mailboxpermission $item.Name | where {$_.AccessRights -like "*FullAccess*"}<br />
$newEmailTo = ""<br />
$emailcounter = 0<br />
    foreach ($item2 in $b) {<br />
        [String]$name = $item2.User<br />
        $c = get-mailbox $name<br />
        if ($c.OrganizationalUnit -eq "[REMOVED]/Corp/Users/Employees" -and $c.name -ne "Mike Kieffer" ) {<br />
        [String]$email = $c.WindowsEmailAddress<br />
        [String]$fname = $c.DisplayName<br />
        echo "-->  $fname ($email)"<br />
        $body += $fname<br />
        $body += [char]13<br />
        if ($emailcounter -gt 0) {$newEmailTo += ", "}<br />
        $newEmailTo += $email<br />
        $emailcounter = $emailcounter + 1<br />
        }<br />
    }<br />
$body += "`r`nPlease reply to this email with the following information:<br />
1- If this mailbox is still needed or if this mailbox can be deleted.<br />
2- Who is the primary contact for this mailbox.<br />
3- Who needs to be added or removed from accessing this mailbox.<br />
4- If any of the email addresses associated with this mailbox are no longer used, and can be removed.<br />
5- Is the name of ""$mailboxName"" still approrpiate for this mailbox.</p>
<p>Thanks,<br />
Mike Kieffer<br />
IT Sr. Systems Administrator<br />
"<br />
echo $subject<br />
echo $body<br />
echo $newEmailTo<br />
$smtp.Send($emailFrom, $newEmailTo, $subject, $body)<br />
}</code><br />
&#8212; End of Script &#8212;</p>
<p>Of course, you will need to modify the script to work in your enviornment, but this is a good starting point.  Suggestions are welcomed on how to increase the usability of this script and also the effectiveness of it.</p>
<p>If you are unable to delete some of the users from the mailboxes during the audit, you may find this post helpful: <A href="http://www.exchange-powershell.com/2010/06/03/exchange-cannot-remove-ace-on-object-because-it-is-not-present/">Cannot remove ACE on object&#8230;</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.exchange-powershell.com/2010/06/03/script-mailbox-audit/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Script &#8211; Check Message Queue</title>
		<link>http://www.exchange-powershell.com/2010/06/03/script-check-message-queue/</link>
		<comments>http://www.exchange-powershell.com/2010/06/03/script-check-message-queue/#comments</comments>
		<pubDate>Thu, 03 Jun 2010 17:49:43 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[scripts]]></category>
		<category><![CDATA[get-queue]]></category>
		<category><![CDATA[get-transportserver]]></category>
		<category><![CDATA[new-object]]></category>
		<category><![CDATA[remove-job]]></category>
		<category><![CDATA[start-job]]></category>
		<category><![CDATA[stop-job]]></category>

		<guid isPermaLink="false">http://www.exchange-powershell.com/?p=5657</guid>
		<description><![CDATA[Here is a simple script I wrote that checks the message queue and then sends an email if the message queue goes over a specified limit. &#8212; Start of Script &#8212; function check_queue { $a = get-transportserver &#124; get-queue &#124; measure-object MessageCount -max if ($a.Maximum -gt 25) { send_email $a.Maximum Exit } start-sleep -s 60 [...]]]></description>
			<content:encoded><![CDATA[<p>Here is a simple script I wrote that checks the message queue and then sends an email if the message queue goes over a specified limit.</p>
<p>&#8212; Start of Script &#8212;<br />
<code>function check_queue<br />
{<br />
$a = get-transportserver | get-queue | measure-object MessageCount -max</p>
<p>if ($a.Maximum -gt 25)<br />
	{<br />
	send_email $a.Maximum<br />
	Exit<br />
	}<br />
start-sleep -s 60<br />
check_queue<br />
}</p>
<p>function send_email<br />
{param ($queue_size)</p>
<p>$emailFrom = "[REMOVED]"<br />
$emailTo = "[REMOVED]"<br />
$subject = "QUEUE SIZE HIGH"<br />
$body = "Message Queues are high, max value $queue_size"<br />
$smtpServer = "[REMOVED]"<br />
$smtp = new-object Net.Mail.SmtpClient($smtpServer)<br />
$smtp.Send($emailFrom, $emailTo, $subject, $body)</p>
<p>}</p>
<p>check_queue</code><br />
&#8212; End of Script &#8212;</p>
<p>In this script, replace the [REMOVED] with the data that is needed.  You can then run this script as a scheduled task in a PowerShell window.</p>
<p>All you have to do is use the start-job command.  </p>
<blockquote><p>[PS] D:\_ps-scripts>start-job ./queue_check.ps1</p>
<p>WARNING: column &#8220;Command&#8221; does not fit into the display and was removed.</p>
<p>Id              Name            State      HasMoreData     Location<br />
&#8211;              &#8212;-            &#8212;&#8211;      &#8212;&#8212;&#8212;&#8211;     &#8212;&#8212;&#8211;<br />
1               Job1            Running    True            localhost</p></blockquote>
<p>And to remove the job, you just use the stop-job and remove-job command.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.exchange-powershell.com/2010/06/03/script-check-message-queue/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Exchange &#8211; Cannot remove ACE on object &#8230; because it is not present.</title>
		<link>http://www.exchange-powershell.com/2010/06/03/exchange-cannot-remove-ace-on-object-because-it-is-not-present/</link>
		<comments>http://www.exchange-powershell.com/2010/06/03/exchange-cannot-remove-ace-on-object-because-it-is-not-present/#comments</comments>
		<pubDate>Thu, 03 Jun 2010 16:05:37 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Exchange]]></category>
		<category><![CDATA[PowerShell V2]]></category>
		<category><![CDATA[remove-mailboxpermission]]></category>
		<category><![CDATA[Role: Mailbox]]></category>

		<guid isPermaLink="false">http://www.exchange-powershell.com/?p=5648</guid>
		<description><![CDATA[I have run into a problem while doing some routine maintenance on some shared mailboxes for the company I work for. During the maintenance process, we audit the list of users that have full mailbox rights to any shared mailbox. In the process, I was trying to remove full permissions from several user accounts. Here [...]]]></description>
			<content:encoded><![CDATA[<p>I have run into a problem while doing some routine maintenance on some shared mailboxes for the company I work for.   During the maintenance process, we audit the list of users that have full mailbox rights to any shared mailbox.  In the process, I was trying to remove full permissions from several user accounts.  Here is what the Manage Full Access Permission screen looked like.<br />
<a href="http://www.exchange-powershell.com/wp-content/uploads/2010/06/emc_manage_full_access_permission.png"><img src="http://www.exchange-powershell.com/wp-content/uploads/2010/06/emc_manage_full_access_permission-300x261.png" alt="Exchange Management Console - Manage Full Access Permission" title="emc_manage_full_access_permission" width="300" class="alignnone size-medium wp-image-5646" /></a><br />
If you notice, that last one on the list has a weird Icon associated with it.  The icon is that of a user account with a small blue question mark in it.</p>
<p>But when you try to delete the message, you get the following screen that contains the following error</p>
<p><a href="http://www.exchange-powershell.com/wp-content/uploads/2010/06/emc_full_access_permission_error.png"><img src="http://www.exchange-powershell.com/wp-content/uploads/2010/06/emc_full_access_permission_error-150x150.png" alt="Cannot remove ACE on object ... because it is not present." title="emc_full_access_permission_error" width="150" height="150" class="alignnone size-thumbnail wp-image-5647" /></a></p>
<blockquote><p>Summary: 1 item(s). 0 succeeded, 1 failed.<br />
Elapsed time: 00:00:00</p>
<p>[REMOVED]\dtaylor<br />
Failed</p>
<p>Error:<br />
Cannot remove ACE on object &#8220;CN=MAIL ROOM,OU=Email Accounts,OU=[REMOVED]&#8221; for account &#8220;[REMOVED]\dtaylor&#8221; because it is not present.</p>
<p>Exchange Management Shell command attempted:<br />
Remove-MailboxPermission -Identity &#8216;CN=MAIL ROOM,OU=Email Accounts,OU=[REMOVED]&#8216; -User &#8216;[REMOVED]\dtaylor&#8217; -InheritanceType &#8216;All&#8217; -AccessRights &#8216;FullAccess&#8217;</p>
<p>Elapsed Time: 00:00:00</p></blockquote>
<p>Let me give you a little background.  Several years ago, we had three domains.  Two of the domains contained Exchange 2003 servers with mailboxes.  We migrated all the mailboxes from the two domains to the domain that did not currently have an Exchange server in it.  So basically we took three domains and consolidated to a single domain and migrated from Exchange 2003 to Exchange 2007.  All three domains belonged to the same AD forest.  </p>
<p><strong>Solution</strong><br />
One way I found to get past this error was to copy the error message, and change the domain to the previous domain in the command.  This would then delete the ACE for that user.  This method works great, if the domain still exists in the organization so that it can do a SID lookup and then delete the ACE.  (NOTE: I even tried to modify the command so instead of using [DOMAIN]\[USERNAME] I used the SID, but this did not work).</p>
<p>Exchange for some odd reason will always send the command to the Remove-MailboxPermission with the username in domain\username format.  It will always do a lookup on the SID and then translate it to that format.  So even by using the sid you get the same error.  Here is an example:</p>
<p>[PS] >Remove-MailboxPermission -Identity &#8216;CN=MAIL ROOM,OU=Email Accounts,OU=[REMOVED]&#8216; -User &#8216;S-1-5-21-1398355167-[REMOVED]-15821&#8242; -InheritanceType &#8216;All&#8217; -AccessRights &#8216;FullAccess&#8217;</p>
<p>Confirm<br />
Are you sure you want to perform this action?</p>
<blockquote><p>Removing mailbox permission &#8220;[REMOVED]/Corp/Email Accounts/MAIL ROOM&#8221; for user &#8220;S-1-5-21-1398355167-[REMOVED]-15821&#8243; with access rights &#8220;&#8216;FullAccess&#8217;&#8221;.</p>
<p>[Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help<br />
(default is &#8220;Y&#8221;):y</p>
<p>Remove-MailboxPermission : Cannot remove ACE on object &#8220;CN=MAIL ROOM,OU=Email Accounts,OU=[REMOVED]&#8221; for account &#8220;[REMOVED]\dtaylor&#8221; because it is not present.<br />
At line:1 char:25</p></blockquote>
<p>Notice that the first line has the SID in the remove-mailboxPermission command, but in the failed text, it has replaced the SID with the username.  </p>
<p>To get the sid to do this, I went into AD Users and Computers and then after selecting the advanced view did an Attribute Editor lookup on the sIDHistory field.</p>
<p>So what do you do to remove the ACE for this account?   The problem is that no matter what input you give the remove-MailboxPermission cmdlet, it will always do a lookup and resolve the sid to a username format.  But if the sid it does the lookup on is not the primary sid for that account it will fail.  To solve this problem you have to remove the ability for the cmdlet to resolve the sid in the first place.  To do this, you have to remove the sIDHistory from the AD account.</p>
<p>Microsoft has a script on their site called &#8220;<a href="http://support.microsoft.com/kb/295758" target="_new">How To Use Visual Basic Script to Clear SidHistory</a>&#8220;.  If you run this script, it will remove the sid history, then when you look at the FULL Permissions, you will see a unresolved SID instead of the username.  The remove-mailboxpermission cmdlet can then remove the ACE from that mailbox.</p>
<p>NOTE:  I would record the sid value in the sIDHistory field somewhere, because chances are you will find other accounts that now show that sid as having full mailbox rights.  You will then want to have a history of the sid so you can then grant permission to the correct account when you see an unresolved sid.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.exchange-powershell.com/2010/06/03/exchange-cannot-remove-ace-on-object-because-it-is-not-present/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Delete all messages after date from mailbox</title>
		<link>http://www.exchange-powershell.com/2009/11/24/delete-all-messages-after-date-from-mailbox/</link>
		<comments>http://www.exchange-powershell.com/2009/11/24/delete-all-messages-after-date-from-mailbox/#comments</comments>
		<pubDate>Tue, 24 Nov 2009 23:16:59 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Exchange]]></category>
		<category><![CDATA[Powershell]]></category>
		<category><![CDATA[export-mailbox]]></category>
		<category><![CDATA[Role: Mailbox]]></category>

		<guid isPermaLink="false">http://www.exchange-powershell.com/?p=443</guid>
		<description><![CDATA[I was asked to delete everything from a mailbox called familydomains that was older than 2009. Here is the Exchange Powershell command that I used to delete everything earlier than 12/31/2008 to a PST file located in my C:\temp directory. export-mailbox familydomains -PSTFolderPath C:\temp\ -DeleteContent -endDate 12/31/2008 The advantage to doing it this way is [...]]]></description>
			<content:encoded><![CDATA[<p>I was asked to delete everything from a mailbox called familydomains that was older than 2009.  Here is the Exchange Powershell command that I used to delete everything earlier than 12/31/2008 to a PST file located in my C:\temp directory.</p>
<blockquote><p>export-mailbox familydomains -PSTFolderPath C:\temp\ -DeleteContent -endDate 12/31/2008</p></blockquote>
<p>The advantage to doing it this way is that no emails are actually deleted.  They are moved from the mailbox to the PST file, so they can be imported, or viewed through Outlook at a later date if the end user changes their mind.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.exchange-powershell.com/2009/11/24/delete-all-messages-after-date-from-mailbox/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Project Professional 2007 &#8211; Error</title>
		<link>http://www.exchange-powershell.com/2009/11/23/project-professional-2007-error/</link>
		<comments>http://www.exchange-powershell.com/2009/11/23/project-professional-2007-error/#comments</comments>
		<pubDate>Mon, 23 Nov 2009 16:42:01 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Server]]></category>
		<category><![CDATA[Project Server]]></category>

		<guid isPermaLink="false">http://www.exchange-powershell.com/?p=422</guid>
		<description><![CDATA[I got a call from a user that was trying to use the web interface on a Project Server install, and was getting this error message when she was trying to edit a project that she created several days before: Project Professional 2007 is currently running under a profile that does not match your current [...]]]></description>
			<content:encoded><![CDATA[<p>I got a call from a user that was trying to use the web interface on a Project Server install, and was getting this error message when she was trying to edit a project that she created several days before:</p>
<blockquote><p>Project Professional 2007 is currently running under a profile that does not match your current Project Web Access login.  Restart Project Professional with a different profile, or exit Project Professional and then let Project Web Access automatically start Project Professional.</p></blockquote>
<p>The client computer had not been rebooted since receiving this error, so I had her reboot her computer and the error message did not return.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.exchange-powershell.com/2009/11/23/project-professional-2007-error/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Command to list all messages to a specific domain for the day</title>
		<link>http://www.exchange-powershell.com/2009/11/20/command-to-list-all-messages-to-a-specific-domain-for-the-day/</link>
		<comments>http://www.exchange-powershell.com/2009/11/20/command-to-list-all-messages-to-a-specific-domain-for-the-day/#comments</comments>
		<pubDate>Fri, 20 Nov 2009 22:21:07 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Exchange]]></category>
		<category><![CDATA[Powershell]]></category>
		<category><![CDATA[get-messagetrackinglog]]></category>
		<category><![CDATA[get-transportserver]]></category>

		<guid isPermaLink="false">http://www.exchange-powershell.com/?p=395</guid>
		<description><![CDATA[If you want to list all of the messages sent to a recipient with a specific domain, you can run this command. It will export a list of all message from 8:00AM &#8211; 5:00PM on 10/17/2009 that were to someone on the domainname.com domain. The list will be saved to c:\send.xls get-transportserver &#124; Get-MessageTrackingLog -ResultSize [...]]]></description>
			<content:encoded><![CDATA[<p>If you want to list all of the messages sent to a recipient with a specific domain, you can run this command.  It will export a list of all message from 8:00AM &#8211; 5:00PM on 10/17/2009 that were to someone on the domainname.com domain.  The list will be saved to c:\send.xls</p>
<blockquote><p>get-transportserver | Get-MessageTrackingLog -ResultSize Unlimited -Start &#8220;10/17/2009 8:00AM&#8221; -End &#8220;11/17/2009 5:00PM&#8221; -eventid Send  | WHERE {$_.recipients -like &#8220;*domainname.com*&#8221;} > &#8220;c:\send.xls&#8221;</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.exchange-powershell.com/2009/11/20/command-to-list-all-messages-to-a-specific-domain-for-the-day/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>IBM X3550 7978-AC1</title>
		<link>http://www.exchange-powershell.com/2009/11/13/ibm-x3550-7978-ac1/</link>
		<comments>http://www.exchange-powershell.com/2009/11/13/ibm-x3550-7978-ac1/#comments</comments>
		<pubDate>Fri, 13 Nov 2009 17:41:25 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Server]]></category>
		<category><![CDATA[IBM]]></category>
		<category><![CDATA[ServeRAID]]></category>
		<category><![CDATA[Storage]]></category>
		<category><![CDATA[UpdateXpress]]></category>

		<guid isPermaLink="false">http://www.exchange-powershell.com/?p=170</guid>
		<description><![CDATA[We were having some issues with one of our X3550 servers from IBM.  The server kept doing a blue screen and hard stop.  The errors we were seeing indicated that it was probably the RAID controller, the system board raid controller.   To start trouble shooting the process, I ran UpdateXpress version 4.07 to update the [...]]]></description>
			<content:encoded><![CDATA[<p>We were having some issues with one of our X3550 servers from IBM.  The server kept doing a blue screen and hard stop.  The errors we were seeing indicated that it was probably the RAID controller, the system board raid controller.   To start trouble shooting the process, I ran UpdateXpress version 4.07 to update the firmware on all devices.  While it was updating the firmware on the ServeRAID 8k-l the system hard stopped again.</p>
<p>After a re-boot the server was saying that the BIOS on the RAID controller was corrupt and giving a Error Code: 86.   The solution suggested was to re-flash the bios from the OS.  Well, controller card having issues also controlled the OS drive.  I therefore tried to use UpdateXpress again (booting form the UpdateXpress CD) and it was unable to flash the RAID BIOS.</p>
<p>I then called IBM support and had a technician come on-site to update the bios.  He change a jumper setting, and then downloaded 4 floppy images and was able to flash the ServeRAID bios.</p>
<p>I asked him for the article number so if it happened again, I could fix the problem myself.  The article number is MIGR 5073641, and if you do a search on IBM.com you will find instructions on how to do the process, including the downloads for the Floppy Diskettes he used.</p>
<p><a href="http://www-947.ibm.com/support/entry/portal/docdisplay?lndocid=MIGR-5073641">http://www-947.ibm.com/support/entry/portal/docdisplay?lndocid=MIGR-5073641</a></p>
<p>He was told to use the Floppy Disks instead of the CD download (something to do with the CD Drivers).   In order for this to work, he had to put a jumper on J63 on the system board.  This jumper is located by the RAID controller in the middle of the system board.  After the jumper was set, you then boot to floppy disk #1 (downloaded from the link above).  It then asks for the other diskettes in order, and then flashes the ServeRAID bios.   When it has finished flashing the RAID card BIOS, then you power off the server and remove the J63 jumper.  The RAID card should now have a valid BIOS and you should now be able access the drives on that controller.</p>
<p>I then suggest that you run UpdateXpress again and make sure that all of the systems are updated.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.exchange-powershell.com/2009/11/13/ibm-x3550-7978-ac1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
