<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:atom="https://www.w3.org/2005/Atom" xmlns:sy="https://purl.org/rss/1.0/modules/syndication/" xmlns:dc="https://purl.org/dc/elements/1.1/" xmlns:content="https://purl.org/rss/1.0/modules/content/" xmlns:wfw="https://wellformedweb.org/CommentAPI/" xmlns:slash="https://purl.org/rss/1.0/modules/slash/"
  version="2.0">
  <channel>
    <title>Fun with Powershell</title>
    <atom:link
      href="https://docs.microsoft.com/archive/blogs/fun_with_powershell/feed.xml"
      rel="self"
      type="application/rss+xml" />
    <link>https://docs.microsoft.com/archive/blogs/fun_with_powershell/feed.xml</link>
    <description>As the name suggest I want to introduce how you can enjoy powershell when you are administering Exchange and Lync :)</description>
    <lastBuildDate>Tue, 16 Apr 2019 06:06:09 GMT</lastBuildDate>
    <language>en-US</language>
    <sy:updatePeriod>hourly</sy:updatePeriod>
    <sy:updateFrequency>1</sy:updateFrequency>
    <item>
      <title>msExchDelegateListLink  and the trouble Which it gave :)</title>
      <link>https://docs.microsoft.com/archive/blogs/fun_with_powershell/msexchdelegatelistlink-and-the-trouble-which-it-gave</link>
      <pubDate>Tue, 05 May 2015 10:06:20 GMT</pubDate>
      <dc:creator><![CDATA[Naveenv]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/fun_with_powershell/2015/05/05/msexchdelegatelistlink-and-the-trouble-which-it-gave/</guid>
      <description><![CDATA[Sorry for keeping the blog so Dull and not updating the same.
I would try to keep it as active as...]]></description>
      <content:encoded><![CDATA[<p>Sorry for keeping the blog so Dull and not updating the same.</p>
<p>I would try to keep it as active as possible hence forth ( I know this was the same promise which I had made in my last blog too)</p>
<p>Well, recently I was working on a case where msExchDelegateListLink&nbsp; attribute was causing some problem to the end users.</p>
<p>First let&#39;s see what is this attribute used for ::Well this feature is used when we do Automapping.</p>
<p>Have we ever thought that as soon as you give full mailbox permission for USER B on USER A&#39;s mailbox, how does the USER B sees the USERA&#39;s Mailbox in the outlook ??</p>
<p>Ranjit had written a good Blog about the same https://theucguy.net/auto-mapping-mailboxes-with-full-access/</p>
<p>Well think about this scenario now</p>
<p>USER A was given Full Mailbox Permission for USER A :(</p>
<p>Post that they were seeing User A as AlternativeMailbox while doing the TestAutoconfig. I would say expected. Now even after removing the FULL mailbox Permission for USER A we were still seeing it :: Not Expected at all</p>
<p>What was this Breaking ??</p>
<p>This was breaking their search while doing the search they were getting two results one for the Original Mailbox and the other for the AlternativeMailbox (especially for TASKS).</p>
<p>I actually thought it might be because of the AD replication. Looks like I was proved wrong again on this one.:(</p>
<p></p>
<p>When we were digging through this scenario I was able to find Jim Martin&#39;s Brilliant Blog which talked about autoD may fail <span style="color:black;line-height:107%;font-family:&#39;Tahoma&#39;,sans-serif;font-size:10pt;"><a href="/b/tips_from_the_inside/archive/2012/01/11/autodiscover-fails-for-one-or-more-users.aspx"><span style="color:#0d70a9;text-decoration:none;">https://blogs.technet.com/b/tips_from_the_inside/archive/2012/01/11/autodiscover-fails-for-one-or-more-users.aspx</span></a></span></p>
<p>Then we looked at the msExchDelegateListLink&nbsp; and we found that the user was present. Now it was challenging for removing only the Self Account.</p>
<p>After digging into a lot of Scripting, we were able to find the solution and implement the same.</p>
<p>This was a two step procedure.</p>
<p><strong>Step 1 was to find out all the users who had the msExchDelegateListLink&nbsp; attribute and then export the same.</strong></p>
<p>&nbsp;&nbsp;&nbsp; <span style="font-family:Calibri;font-size:medium;">Get-ADUser -Properties msExchDelegateListBL,msExchDelegateListLink -LDAPFilter &quot;(msExchDelegateListBL=*)&quot; | Select @{n=&#39;Distinguishedname&#39;;e={$_.distinguishedname}},@{n= &#39;alternate&#39;;e={$_.msExchDelegateListLink}} | Export-csv userlist.csv &ndash;notypeinformation &ndash;noclobber</span></p>
<p>&nbsp;<strong><span style="font-family:Calibri;font-size:medium;">Step 2 was to remove the self permission</span></strong></p>
<p><span style="font-family:Calibri;font-size:medium;">import-csv &quot;userlist.csv&quot; | % {get-aduser -identity $_.distinguishedname | set-aduser -remove @{msExchDelegateListlink=$_.distinguishedname}}</span></p>
<p><span style="font-family:Times New Roman;font-size:medium;"> -----</span></p>
<p><span style="font-family:Times New Roman;font-size:medium;">&nbsp;</span></p>
<p><span style="font-family:Times New Roman;font-size:medium;">Written by Naveen Vasudevan <br /></span></p>
<p></p>
<p></p>
<p></p>
<p></p>
<p></p>
<p></p>]]></content:encoded>
    </item>
    <item>
      <title>Cmdletextension and its magic :)</title>
      <link>https://docs.microsoft.com/archive/blogs/fun_with_powershell/cmdletextension-and-its-magic</link>
      <pubDate>Thu, 17 Apr 2014 08:56:15 GMT</pubDate>
      <dc:creator><![CDATA[Naveenv]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/fun_with_powershell/2014/04/17/cmdletextension-and-its-magic/</guid>
      <description><![CDATA[Recently one of my dear friend asked me about a question ::: Adding a particular field for as a SMTP...]]></description>
      <content:encoded><![CDATA[<p>Recently one of my dear friend asked me about a question ::: Adding a particular field for as a SMTP address for newly created users automatically.</p>
<p>Did I Just say Friend :) He is our PFE Akshay</p>
<p>Well I talked about the cmdletextension agents with him and I also liked the Idea</p>
<p>Then we had a great discussion about the same and then we sat in our labs to see if this is really possible.</p>
<p>Eureka we were able to achieve the same.</p>
<p>Before We talk about how we achieved it, please go through the following article about cmdletextensionagents https://technet.microsoft.com/en-us/library/dd335054(v=exchg.150).aspx</p>
<p>Now lets see how we did we do it</p>
<p>We wanted to have the Pager attribute value to be populated as the additional email address</p>
<p></p>
<p><span style="font-family:Calibri;font-size:medium;">&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot; ?&gt;</span></p>
<p><span style="font-family:Calibri;font-size:medium;">&lt;Configuration version=&quot;1.0&quot;&gt;</span></p>
<p><span style="font-family:Calibri;font-size:medium;">&lt;Feature Name=&quot;MailboxProvisioning&quot; Cmdlets=&quot;enable-mailbox&quot;&gt;</span></p>
<p><span style="font-family:Calibri;font-size:medium;">&nbsp; &lt;ApiCall Name=&quot;OnComplete&quot;&gt;</span></p>
<p><span style="font-family:Calibri;font-size:medium;">&nbsp;&nbsp; if($succeeded)&nbsp;&nbsp;&nbsp; {</span></p>
<p><span style="font-family:Calibri;font-size:medium;">$user = (Get-User $provisioningHandler.UserSpecifiedParameters[&quot;Identity&quot;]).distinguishedName</span></p>
<p><span style="font-family:Calibri;font-size:medium;">set-mailbox -identity $user -emailaddresspolicyenabled $false</span></p>
<p><span style="font-family:Calibri;font-size:medium;">$a=get-mailbox $user | Get-User | select pager</span></p>
<p><span style="font-family:Calibri;font-size:medium;">write-host $a</span></p>
<p><span style="font-family:Calibri;font-size:medium;">write-host $a.pager</span></p>
<p><span style="font-family:Calibri;font-size:medium;">$b=$a.Pager+ &quot;@wingtiptoys.com&quot;</span></p>
<p><span style="font-family:Calibri;font-size:medium;">$c=Get-Mailbox $user</span></p>
<p><span style="font-family:Calibri;font-size:medium;">$c.EmailAddresses+=&quot;$b&quot;</span></p>
<p><span style="font-family:Calibri;font-size:medium;">Set-Mailbox -identity $user -EmailAddresses $c.EmailAddresses</span></p>
<p><span style="font-family:Calibri;font-size:medium;">&nbsp;&nbsp; }</span></p>
<p><span style="font-family:Calibri;font-size:medium;">&nbsp; &lt;/ApiCall&gt;</span></p>
<p><span style="font-family:Calibri;font-size:medium;">&lt;/Feature&gt;</span></p>
<p><span style="font-family:Calibri;font-size:medium;">&lt;/Configuration&gt;</span></p>
<p><span style="font-family:Times New Roman;font-size:medium;"> </span></p>
<p>I would strongly recommend you to go ahead look at the <a href="https://www.ehloworld.com/194">https://www.ehloworld.com/194</a> blog about where and how to enable which scripting agent.</p>
<p></p>
<p>Thanks a lot Akshay.</p>
<p></p>
<p>Naveen Vasudevan</p>
<p></p>
<p></p>]]></content:encoded>
    </item>
    <item>
      <title>Exchange Issue : MESO container objects :PowerShell Came to rescue</title>
      <link>https://docs.microsoft.com/archive/blogs/fun_with_powershell/exchange-issue-meso-container-objects-powershell-came-to-rescue</link>
      <pubDate>Wed, 26 Mar 2014 05:23:59 GMT</pubDate>
      <dc:creator><![CDATA[Naveenv]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/fun_with_powershell/2014/03/26/exchange-issue-meso-container-objects-powershell-came-to-rescue/</guid>
      <description><![CDATA[Hi folks! I am back after a period of inactivity :)
&nbsp;
Recently I worked on a scenario , where...]]></description>
      <content:encoded><![CDATA[<p><span style="font-family:comic sans ms,sans-serif;font-size:small;">Hi folks! I am back after a period of inactivity :)</span></p>
<p><span style="font-family:comic sans ms,sans-serif;font-size:small;">&nbsp;</span></p>
<p><span style="font-family:comic sans ms,sans-serif;font-size:small;">Recently I worked on a scenario , where we had to restore the MESO objects and have the PF link back to the associated MESO object.&nbsp; We found that the Hierarchy was moved from One Admin Group to another Group after the MESO objects were removed. We had to restore the MESO Object from the AD backup : so, we needed an Auth Restore.</span></p>
<p><span style="font-family:comic sans ms,sans-serif;font-size:small;">&nbsp;</span></p>
<p><span style="font-family:comic sans ms,sans-serif;font-size:small;">After the Auth Restore we found that the Homemdb object was pointing towards the OLD TLH. We tried to use ADMODIFY.net , a wonderful tool which has helped us a lot in the past, &nbsp;but unfortunately it does not work for PF L</span></p>
<p><span style="font-family:comic sans ms,sans-serif;font-size:small;">&nbsp;</span></p>
<p><span style="font-family:comic sans ms,sans-serif;font-size:small;">Of course, we could have moved back the Hierarchy to the OLD location and probably we could have fixed the Problem. But how about using Powershell to do the magic for us?</span></p>
<p><span style="font-family:comic sans ms,sans-serif;font-size:small;">So can the Exchange Powershell cmdlets do this magic ? Unfortunately No. So we had to use the AD Module, and it did come to our rescue beautifully.</span></p>
<p><span style="font-family:comic sans ms,sans-serif;font-size:small;">&nbsp;</span></p>
<p><span style="font-family:comic sans ms,sans-serif;font-size:small;">To List the Proxyaddresses,ShowinAddressbook and MsexchHideFromAddresslist of the PF Objects we ran the command</span></p>
<p><span style="font-family:comic sans ms,sans-serif;font-size:small;"><b>Get-ADObject -LDAPFilter &quot;(objectClass=publicFolder)&quot; -properties showInAddressBook,proxyAddresses,msExchHideFromAddressList </b></span></p>
<p><span style="font-family:comic sans ms,sans-serif;font-size:small;">We did get the Report of the Public Folders and this also showed a lot of PF&#39;s Missing the Showinaddressbook attribute.</span></p>
<p><span style="font-family:comic sans ms,sans-serif;font-size:small;">&nbsp;</span></p>
<p><span style="font-family:comic sans ms,sans-serif;font-size:small;">So we had two tasks :</span></p>
<p><span style="font-family:comic sans ms,sans-serif;font-size:small;">#1 set the homemdb to point to the new TLH.</span></p>
<p><span style="font-family:comic sans ms,sans-serif;font-size:small;">#2 set the ShowInaddressbook attribute.</span></p>
<p><span style="font-family:comic sans ms,sans-serif;font-size:small;">&nbsp;</span></p>
<p><span style="font-family:comic sans ms,sans-serif;font-size:small;">For #1 : We copied the DN value of the TLH and ran the following command</span></p>
<p><span style="font-family:comic sans ms,sans-serif;font-size:small;"><b>Get-ADObject -LDAPFilter &quot;(objectClass=publicFolder)&quot; | Set-ADObject -add @{homemdb=&lt;DN of the TLH which was copied earlier&gt;}</b></span></p>
<p><span style="font-family:comic sans ms,sans-serif;font-size:small;">For #2 : This one was little bit tricky as we had a Multi valued property and we had two values - the DN of the Default GAL and the DN of the Public Folders Address List. So we used the array concept and ran the below commands to achieve the result</span></p>
<p><span style="font-family:comic sans ms,sans-serif;font-size:small;"><b>$addr = @()<br /> $addr += &quot;DN of the GAL&quot;<br /> $addr += &quot;DN of PF List&quot;</b></span></p>
<p><span style="font-family:comic sans ms,sans-serif;font-size:small;"><b>Get-ADObject -LDAPFilter &quot;(objectClass=publicFolder)&quot; | Set-ADObject -replace@{showInAddressBook = $addr}</b></span></p>
<p><span style="font-family:comic sans ms,sans-serif;font-size:small;">One thing to note here is that , in #1 we had used &ldquo;-add&rdquo; as we needed the new entry ; and in #2 we had used &ldquo;-replace&rdquo; as we had to modify.</span></p>
<p><span style="font-family:comic sans ms,sans-serif;font-size:small;">&nbsp;</span></p>
<p><span style="font-family:comic sans ms,sans-serif;font-size:small;">Until next time, have fun with powershell :)</span></p>
<p><strong><span style="font-family:comic sans ms,sans-serif;font-size:small;">&nbsp;A very Special Thanks To Senthil Kumar S SEE in the Exchange Team for his Ideas on this.</span></strong></p>
<p><span style="font-family:Times New Roman;font-size:medium;"> </span></p>]]></content:encoded>
    </item>
    <item>
      <title>Parsing Log files using windows PowerShell</title>
      <link>https://docs.microsoft.com/archive/blogs/fun_with_powershell/parsing-log-files-using-windows-powershell</link>
      <pubDate>Tue, 22 Oct 2013 00:48:00 GMT</pubDate>
      <dc:creator><![CDATA[Naveenv]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/fun_with_powershell/2013/10/22/parsing-log-files-using-windows-powershell/</guid>
      <description><![CDATA[An administrator can sometimes get in to a tricky spot, when someone asks questions about parsing...]]></description>
      <content:encoded><![CDATA[<p>An administrator can sometimes get in to a tricky spot, when someone asks questions about parsing log<br />files&nbsp;:) In this blog , we shall see how to parse IIS logs using PowerShell cmdlets.&nbsp;</p>
<p>Recently, my colleague Ajay was troubleshooting EWS issue and had multiple huge IIS logs from different servers.&nbsp;</p>
<p>We had tried to open the logs using a lot of large file viewer tools but no luck in opening them :(</p>
<p>Then we thought, Why not use the power of select-string to find out all the /EWS requests?&nbsp; So, here it is :</p>
<p>In Powershell cmd&nbsp; prompt, please navigate to the location where you have saved the IIS logs, and<br />run the below command :&nbsp;<br /><br /><strong><br /><br />Get-Content ".\*log" | ? { ($_ | Select-String "/ews")}&nbsp;</strong>&nbsp;<br /><br /><br /><br />The above command would give us all the EWS requests.</p>
<p><br />To filter this to a particular user name, use the below command:</p>
<p><strong>Get-Content ".\*log" | ? { ($_ | Select-String "/ews") -and ($_ | Select-String "Useralias")}&nbsp;</strong>&nbsp;</p>
<p>&nbsp;</p>
<p>Some more options that will be more commonly required :&nbsp;</p>
<p>For Outlook Web Access : Replace <em>EWS</em> with <strong><em>OWA</em></strong>&nbsp;<br /><br />For EAS : Replace <em>EWS</em> with <strong><em>Microsoft-server-activesync</em></strong>&nbsp;<br /><br />For ECP : Replace <em>EWS</em> with <strong><em>ECP</em></strong></p>
<p><strong><em></em></strong>&nbsp;</p>
<p><strong><em>To find out the count of the EWS request we can go ahead and run the below command</em></strong></p>
<p><strong><em><span style="color: #000000; font-family: Segoe UI; font-size: x-small;">(</span><span style="color: #000000; font-family: Segoe UI; font-size: x-small;">Get-Content ".\*log" | ? { ($_ | Select-String "/ews") -and ($_ | Select-String "Useralias")}</span><span style="color: #000000; font-family: Segoe UI; font-size: x-small;">).count</span><br /><br /></em></strong>&nbsp;</p>
<p>-Written By &nbsp;<strong>Naveen&nbsp; Vasudevan Technical Lead </strong></p>]]></content:encoded>
    </item>
    <item>
      <title>Some mysteries of Throttling Policy: Recipient Rate Limit</title>
      <link>https://docs.microsoft.com/archive/blogs/fun_with_powershell/some-mysteries-of-throttling-policy-recipient-rate-limit</link>
      <pubDate>Thu, 03 Oct 2013 20:52:00 GMT</pubDate>
      <dc:creator><![CDATA[Naveenv]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/fun_with_powershell/2013/10/03/some-mysteries-of-throttling-policy-recipient-rate-limit/</guid>
      <description><![CDATA[In this topic I would try to illustrate how the Recipient Rate limit works and where it is...]]></description>
      <content:encoded><![CDATA[<p>In this topic I would try to illustrate how the Recipient Rate limit works and where it is saved.</p>
<p>With more hybrid setups which are coming up these days we would certainly want seamless experience in both On-prem Servers and the O365<br />servers.</p>
<p>We did get a requirement stating that we need to have few users who would be migrating to cloud have the same recipient rate limit as in<br />cloud.</p>
<p>Creating the recipient rate limit:</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/98/47/2185.throtel.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-98-47/2185.throtel.png"><img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/98/47/2185.throtel.png" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-98-47/2185.throtel.png" alt="" border="0" /></a></p>
<p><br />Where does the throttling policy get saved?</p>
<p>The throttling policy gets saved in the AD under the following location</p>
<p>CN=Global Settings,CN=EMAIL,CN=MicrosoftExchange,CN=Services,CN=Configuration,DC=Contoso,DC=com</p>
<p><img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/98/47/1018.location.png" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-98-47/1018.location.png" alt="" border="0" /></p>
<p><br />Where does the recipient rate limit gets stored on the policy?</p>
<p>&nbsp;</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/98/47/4604.prop.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-98-47/4604.prop.png"><img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/98/47/4604.prop.png" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-98-47/4604.prop.png" alt="" border="0" /></a></p>
<p>&nbsp;</p>
<p>Lets check where is 10 which we had specified on the New-throttlingpolicy</p>
<p>&nbsp;</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/98/47/1122.deepprop.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-98-47/1122.deepprop.png"><img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/98/47/1122.deepprop.png" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-98-47/1122.deepprop.png" alt="" border="0" /></a></p>
<p><br />Now we need to add the users to throttling policy. We can run the set-mailbox to do so. In the below example I am adding<br />test_50 user to throttling policy mstest which we had created earlier.</p>
<p>&nbsp;</p>
<p><strong>We can add this by running set-mailbox test_50 -throttlingpolicy mstest.</strong></p>
<p><strong></strong>&nbsp;</p>
<p>&nbsp;We can check if the throttlingpolicy has been applied to the user mailbox by running</p>
<p>get-mailbox test_50 | fl throttlingpolicy</p>
<p>&nbsp;</p>
<p>Now what does this mean? This means that after the 10<sup>th</sup> email what happens? Let us see the end users screen.</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/98/47/3808.error.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-98-47/3808.error.png"><img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/98/47/3808.error.png" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-98-47/3808.error.png" alt="" border="0" /></a></p>
<p>&nbsp;</p>
<p>This means that the user can send emails to 10 recipient and as soon as the user adds the 11<sup>th</sup> recipient or more<br />you would see the error stating <strong>&ldquo;Thismessage can&rsquo;t be send. You&rsquo;ve reached the limit of the number messages that can<br />be sent in a 24-hour period&rdquo;.</strong></p>
<p>&nbsp;</p>
<p>Two conditions when the mailbox can again send another set of the messages.</p>
<ol>
<li><br />If the 24 hours have been completed.</li>
<li><br />If we go ahead and restart the throttling<br />service on the mailbox server where the mailbox is located.</li>
</ol>
<p>&nbsp;</p>
<p>How does this work actually?</p>
<p>&nbsp;Before we start to know how it works let us talk some terms which would be used in the workflow:</p>
<p>&nbsp;Token: The token is the number of recipients which has been already processed.</p>
<p>Token Bucket Map: This is table where the guids of the mailbox are kept, this is obtained during the Start of Throttling service.</p>
<p>When the Service starts it maintains the Token Bucket Map in the memory. &nbsp;If the user has never logged in then there is nothing in the Bucket map so throttling<br />service would add this as a new table in the Bucket Map.</p>
<p>&nbsp;When the User Submits the mail, then the throttling service checks the Bucket Map with a request called Obtain token.</p>
<p>&nbsp;If the below condition is true, then the mail would be submitted or else it would stuck.</p>
<p>&nbsp;<strong>Obtain Token + Token bucket map &lt;= Recipientratelimit </strong></p>
<p>Let&rsquo;s do the calculation why we are not ble to send an email.</p>
<p>&nbsp;Recipientratelimit=10</p>
<p>First email was sent with 6 recipients, so the Token Bucket map would be 6.</p>
<p>The email which failed to be sent has 7 recipients, so the Obtain Token count would be 7.</p>
<p>&nbsp;Let us do the above calculation</p>
<p>&nbsp;6+7 =13 &gt; 10 hence the mail can&rsquo;t be sent.</p>
<p>A special thanks to Escalation Engineer Shashi to look into the Code and help me understand the concept of the<br />throttling policy.</p>
<p>&nbsp;</p>
<p>Naveen Vasudevan</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>]]></content:encoded>
    </item>
    <item>
      <title>How do we customize the PowerShell Profile to start the transcript</title>
      <link>https://docs.microsoft.com/archive/blogs/fun_with_powershell/how-do-we-customize-the-powershell-profile-to-start-the-transcript</link>
      <pubDate>Thu, 27 Jun 2013 00:06:00 GMT</pubDate>
      <dc:creator><![CDATA[Naveenv]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/fun_with_powershell/2013/06/27/how-do-we-customize-the-powershell-profile-to-start-the-transcript/</guid>
      <description><![CDATA[I was thinking about this for a long time, how do I Customize my PowerShell to have the transcript...]]></description>
      <content:encoded><![CDATA[<p>I was thinking about this for a long time, how do I Customize my PowerShell to have the transcript Started and to have the user name displayed on the Tittle &nbsp;of the PowerShell window.?</p>
<p>Some other thoughts came too in this Can I customize my Foreground ?</p>
<p>How do I push this to all the PowerShell Users in my Domain?</p>
<p>&nbsp;</p>
<p>Well I was finally able to go ahead and figure this out :)</p>
<p>To do this we need to have a to add Profile.ps1 in the following location</p>
<p>C:\Windows\System32\WindowsPowerShell\v1.0\</p>
<p>&nbsp;</p>
<p>Now how do we do this ?</p>
<p>&nbsp;</p>
<p>Well I thought of using the Group Policy to do this</p>
<p>&nbsp;</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/98/47/8055.GroupPolicy.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-98-47/8055.GroupPolicy.png"><img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/98/47/8055.GroupPolicy.png" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x650/__key/communityserver-blogs-components-weblogfiles/00-00-00-98-47/8055.GroupPolicy.png" alt="" border="0" /></a></p>
<p>&nbsp;Now after you have selected the files we need to add two things</p>
<p>&nbsp;</p>
<p>1. Source File(s): Add the UNC path of the file.</p>
<p>2. Destination File : C:\Windows\System32\WindowsPowerShell\v1.0\Profile.ps1</p>
<p>The most important thing is what do we have in the Profile.ps1</p>
<p>&nbsp;Here is an Example where I have added the Domain\alias in the Title Bar and have started the Transcript in the session.&nbsp;</p>
<p>&nbsp;</p>
<p>$c=(get-WmiObject -Class Win32_UserAccount -Filter "Name='$env:username' and Domain='$env:userdomain'").Caption &gt;&gt;&gt;&gt;&gt;&nbsp; Here is where I get the Domain Name and User Name who has logged in<br />$host.UI.RAWUI.Windowtitle= "$c"<br />Set-ExecutionPolicy remotesigned -confirm:$false<br />start-transcript -path ("$env:temp"+ (get-date -format ddmmyyHHmm)+".txt") -force&nbsp; -noclobber &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; Here is where I have started the transcript</p>
<p>&nbsp;</p>
<p>How do we see the PowerShell before&nbsp;we went ahead and added the Profile.Ps1</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/98/47/1200.before.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-98-47/1200.before.png"><img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/98/47/1200.before.png" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x250/__key/communityserver-blogs-components-weblogfiles/00-00-00-98-47/1200.before.png" alt="" border="0" /></a></p>
<p>&nbsp;</p>
<p>Now Let us see the PowerShell after we pushed the Profile.ps1 using the group policy</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/98/47/7343.after.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-98-47/7343.after.png"><img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/98/47/7343.after.png" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x250/__key/communityserver-blogs-components-weblogfiles/00-00-00-98-47/7343.after.png" alt="" width="456" height="240" border="0" /></a></p>
<p>As we can see the domain name and the transcript already started with the PowerShell window.</p>
<p>Does this work with Exchange or Any other PowerShell : Yes if the Profile path is C:\Windows\System32\WindowsPowerShell\v1.0\Profile.ps1.</p>
<p>I would be working on the adding the transcript file to an UNC path so that it is easier for the administrators to go ahead and manage the files.</p>
<p>&nbsp;</p>
<p>-Written By &nbsp;Naveen&nbsp; Vasudevan</p>
<p>&nbsp;</p>]]></content:encoded>
    </item>
    <item>
      <title>Where is the time zone property stored in exchange 2010</title>
      <link>https://docs.microsoft.com/archive/blogs/fun_with_powershell/where-is-the-time-zone-property-stored-in-exchange-2010</link>
      <pubDate>Tue, 30 Apr 2013 03:32:00 GMT</pubDate>
      <dc:creator><![CDATA[Naveenv]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/fun_with_powershell/2013/04/30/where-is-the-time-zone-property-stored-in-exchange-2010/</guid>
      <description><![CDATA[The TimeZone parameter specifies the time zone, such as Pacific Standard Time, that the
mailbox in...]]></description>
      <content:encoded><![CDATA[<p><span style="font-family: comic sans ms,sans-serif; font-size: small;">The <strong>TimeZone</strong> parameter specifies the time zone, such as Pacific Standard Time, that the</span></p>
<p><span style="font-family: comic sans ms,sans-serif; font-size: small;">mailbox in the specified region uses. The default value is the time zone setting on the server.</span></p>
<p><span style="font-family: comic sans ms,sans-serif; font-size: small;">I was interested to understand how it is stored</span></p>
<p><span style="font-family: comic sans ms,sans-serif; font-size: small;">After doing a lot of research on this, I was able to Figure it out :</span></p>
<p><span style="font-family: comic sans ms,sans-serif; font-size: small;">The language that you select will determine the date and time settings in the Date and Time</span></p>
<p><span style="font-family: comic sans ms,sans-serif; font-size: small;">Formats section.</span></p>
<p><span style="font-family: comic sans ms,sans-serif; font-size: small;">The default client&nbsp; language setting applies to individual Outlook Web Access virtual</span></p>
<p><span style="font-family: comic sans ms,sans-serif; font-size: small;">directories.</span></p>
<p><br /><span style="font-family: comic sans ms,sans-serif; font-size: small;">The default client language is the client language that is used by&nbsp; Outlook</span><br /><span style="font-family: comic sans ms,sans-serif; font-size: small;">Web Access unless the user uses Regional Settings in Outlook Web Access</span></p>
<p><span style="font-family: comic sans ms,sans-serif; font-size: small;">to change the language and time zone. The default value for this setting is 0.</span></p>
<p><span style="font-family: comic sans ms,sans-serif; font-size: small;">This means the default client language is not defined. If the default client</span></p>
<p><span style="font-family: comic sans ms,sans-serif; font-size: small;">language is not defined, users will be prompted to choose a language and time</span></p>
<p><span style="font-family: comic sans ms,sans-serif; font-size: small;">zone the first time that they log on to Outlook Web Access. If the default client</span><br /><span style="font-family: comic sans ms,sans-serif; font-size: small;">language value is defined, users will not be prompted to choose a language</span><br /><span style="font-family: comic sans ms,sans-serif; font-size: small;">and the Outlook Web Access time zone will use the time zone of the Client</span><br /><span style="font-family: comic sans ms,sans-serif; font-size: small;">Access server. Defining the default client language causes the default folders</span><br /><span style="font-family: comic sans ms,sans-serif; font-size: small;">to be renamed based on the specified language. Users can change the client</span><br /><span style="font-family: comic sans ms,sans-serif; font-size: small;">language and time zone by using Regional Settings in Outlook Web Access,and</span><br /><span style="font-family: comic sans ms,sans-serif; font-size: small;">can rename the default folders after they log on.</span></p>
<p><span style="font-family: comic sans ms,sans-serif; font-size: small;">The default value for Language setting is 0, i.e. not defined resulting in users being</span></p>
<p><span style="font-family: comic sans ms,sans-serif; font-size: small;">prompted to choose a language the first time that they sign in to Outlook Web App.</span></p>
<p><span style="font-family: comic sans ms,sans-serif; font-size: small;">Administrators can specify the default language, so that the users are not</span></p>
<p><span style="font-family: comic sans ms,sans-serif; font-size: small;">prompted to select Language as shown above. The Default language for OWA can be</span></p>
<p><span style="font-family: comic sans ms,sans-serif; font-size: small;">set using the following command.</span></p>
<p><span style="font-family: comic sans ms,sans-serif; font-size: small;">Set-OWAVirtualDirectory &ldquo;owa(Default Web Site)&rdquo; -DefaultClientLanguage &lt;Languagecode&gt;</span></p>
<p><span style="font-family: comic sans ms,sans-serif; font-size: small;">If we have kept the defaultclienlanguage to any language for example 1033 which is english</span></p>
<p><span style="font-family: comic sans ms,sans-serif; font-size: small;">(US <a href="https://technet.microsoft.com/en-us/library/aa997435.aspx">https://technet.microsoft.com/en-us/library/aa997435.aspx</a>)</span></p>
<p><span style="font-family: comic sans ms,sans-serif; font-size: small;">then I do not get the option to change the time zone when I login to the first time OWA with a new user.</span></p>
<p><span style="font-family: comic sans ms,sans-serif; font-size: small;">Then I went ahead and ran the command : Set-MailboxRegionalConfiguration &ndash;timezone to pacific standard time</span><br /><span style="font-family: comic sans ms,sans-serif; font-size: small;">and then I looked at the user settings in OWA (under the options &gt;all options and regional) I was able to see pacific, then I went </span></p>
<p><span style="font-family: comic sans ms,sans-serif; font-size: small;">ahead and changed it to Indian Standard Time in OWA and then I ran the</span></p>
<p><span style="font-family: comic sans ms,sans-serif; font-size: small;">get-MailboxRegionalConfiguration for that user then I was able to see Indian Standard Time..</span></p>
<p><span style="font-family: comic sans ms,sans-serif; font-size: small;">Articles which you may like to read :</span></p>
<p><span style="font-family: comic sans ms,sans-serif; font-size: small;"><a href="https://technet.microsoft.com/en-us/library/dd351103.aspx">https://technet.microsoft.com/en-us/library/dd351103.aspx</a></span></p>
<p><span style="font-family: comic sans ms,sans-serif; font-size: small;"><a href="https://msdn.microsoft.com/en-us/library/microsoft.exchange.data.storage.management.mailboxregionalconfiguration.aspx">https://msdn.microsoft.com/en-us/library/microsoft.exchange.data.storage.management.mailboxregionalconfiguration.aspx</a></span></p>
<p><span style="font-family: comic sans ms,sans-serif; font-size: small;">Also look at the class </span><span style="font-family: comic sans ms,sans-serif; font-size: small;">mentioned on the MSDN</span></p>
<p><span style="font-family: comic sans ms,sans-serif; font-size: small;">&nbsp;<a href="https://msdn.microsoft.com/en-us/library/microsoft.exchange.data.storage.management.mailboxregionalconfiguration.mailboxregionalconfiguration">https://msdn.microsoft.com/en-us/library/microsoft.exchange.data.storage.management.mailboxregionalconfiguration.mailboxregionalconfiguration</a></span></p>
<p>&nbsp;<span style="font-family: arial,helvetica,sans-serif; font-size: x-small;"><strong>Written by:</strong></span></p>
<p><span style="font-family: arial,helvetica,sans-serif; font-size: x-small;"><strong>Naveen Vasudevan</strong>, Technical Lead, Enterprise Communications Services, Microsoft&nbsp;</span></p>
<p>Have fun with Powershell and exchange and LYNC :)</p>]]></content:encoded>
    </item>
    <item>
      <title>New-MailboxRestoreRequest bulk mailbox merge : how to do that</title>
      <link>https://docs.microsoft.com/archive/blogs/fun_with_powershell/new-mailboxrestorerequest-bulk-mailbox-merge-how-to-do-that</link>
      <pubDate>Fri, 26 Apr 2013 04:38:33 GMT</pubDate>
      <dc:creator><![CDATA[Naveenv]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/fun_with_powershell/2013/04/26/new-mailboxrestorerequest-bulk-mailbox-merge-how-to-do-that/</guid>
      <description><![CDATA[I was asked by some one if we can do new-mailboxrestorerequest for all the users. Well on the first...]]></description>
      <content:encoded><![CDATA[<p>I was asked by some one if we can do new-mailboxrestorerequest for all the <br />users. Well on the first thought&nbsp;I said it is possible.</p>
<p>It took some time but&nbsp;I was able to get it working.</p>
<p>&nbsp;</p>
<p><strong>SCRIPT :</strong></p>
<p>=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-</p>
<p>foreach($mailbox in Get-MailboxStatistics -Database RDB) <br />{New-MailboxRestoreRequest -SourceDatabase RDB -SourceStoreMailbox <br />$mailbox.DisplayName -TargetMailbox $mailbox.DisplayName}</p>
<p>=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-</p>
<p>&nbsp;</p>
<p><strong>NOTE: In the above example RDB is the name of the Recovery Database <br /></strong></p>
<p>&nbsp;</p>
<p><strong>PLEASE CHECK FOR THE SPACES when you copy paste the <br />script.</strong></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>]]></content:encoded>
    </item>
    <item>
      <title>Setting Meeting Policy in Office Communication 2007 R2 using PowerShell is this possible ?</title>
      <link>https://docs.microsoft.com/archive/blogs/fun_with_powershell/setting-meeting-policy-in-office-communication-2007-r2-using-powershell-is-this-possible</link>
      <pubDate>Thu, 25 Apr 2013 01:09:00 GMT</pubDate>
      <dc:creator><![CDATA[Naveenv]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/fun_with_powershell/2013/04/25/setting-meeting-policy-in-office-communication-2007-r2-using-powershell-is-this-possible/</guid>
      <description><![CDATA[Prashant From the UC team and came and asked me about helping him with a Script for&nbsp;setting...]]></description>
      <content:encoded><![CDATA[<p>Prashant From the UC team and came and asked me about helping him with a Script for&nbsp;setting Meeting Policy</p>
<p>in Office Communication 2007 R2.</p>
<p>&nbsp;</p>
<p>The Next Statement he said was the Shock :) We do not have a PowerShell Module for Office Communication</p>
<p>Server 2007.</p>
<p>&nbsp;</p>
<p>I said wow. Then When checked with him he gave me a Hint stating we may be able to achieve this using WMI.</p>
<p>I should Thank Prashant now at least :) &nbsp;for the brilliant idea of WMI.</p>
<p>Here is how you do this.</p>
<p>&nbsp;</p>
<p>I wanted user to enter the SIP address so that it is easy for us to change and keep a Track of the changes :)</p>
<p>&nbsp;</p>
<p>$b=read-host</p>
<p>get-wmiobject -Class<br />MSFT_SIPESUserSetting | Where-Object {$_.PrimaryURI -like $b} | %<br />{$_.meetingpolicy =<br />"CN={XXXXXXXXXXXXXX},CN=Policies,CN=RTC<br />Service,CN=Services,CN=Configuration,DC=corp,DC=Contoso,DC=com";<br />$_.put() | out-null}</p>
<p>In the above example we have to specify the $b as sip:alias@contoso.com</p>
<p>We need to query the AD to find out the DN of the Meeting Policy to set.</p>
<p>&nbsp;</p>
<p><span style="font-family: arial,helvetica,sans-serif; font-size: x-small;"><strong>Written by:</strong></span></p>
<p><span style="font-family: arial,helvetica,sans-serif; font-size: x-small;"><strong>Naveen Vasudevan</strong>, Technical Lead, Enterprise Communications Services, Microsoft&nbsp;</span></p>
<p>Have fun with Powershell and exchange and LYNC :)</p>
<p>&nbsp;</p>]]></content:encoded>
    </item>
    <item>
      <title>Why is my exchange shell and Management Console not opening :: EXCHANGE 2007?</title>
      <link>https://docs.microsoft.com/archive/blogs/fun_with_powershell/why-is-my-exchange-shell-and-management-console-not-opening-exchange-2007</link>
      <pubDate>Thu, 11 Apr 2013 02:49:00 GMT</pubDate>
      <dc:creator><![CDATA[Naveenv]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/fun_with_powershell/2013/04/11/why-is-my-exchange-shell-and-management-console-not-opening-exchange-2007/</guid>
      <description><![CDATA[Recently We had a Case in which we did a restore of the server by using recover server and...]]></description>
      <content:encoded><![CDATA[<p>Recently We had a Case in which we did a restore of the server by using recover server and found</p>
<p>that We were unable to open the <strong><span style="text-decoration: underline;">Exchange Management Shell</span>, <span style="text-decoration: underline;">Exchange Management Console</span></strong></p>
<p><strong><span style="text-decoration: underline;">we were missing the <strong><span style="text-decoration: underline;">Powershell Logs </span></strong>from the event viewer</span></strong></p>
<p><strong></strong>&nbsp;</p>
<p>&nbsp;</p>
<div>
<h2 class="subHeading">Cause</h2>
<div class="section"><strong><span style="text-decoration: underline;">Missing Registry Entries</span></strong></div>
</div>
<p>&nbsp;</p>
<div>
<h2 class="subHeading">Resolution</h2>
<div class="section">
<p><strong>PROBLEM 1 : Issues Opening The Exchange Management Shell</strong></p>
<p>Go to the Following <br />Location&nbsp;&nbsp;HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1\PowerShellSnapIns&nbsp; <br />and Check if we have the snapins. In our case we did not have the Snapins.</p>
<p>We Imported the registry from a working server. We can also use the following <br />Text to import it back. Please make sure that we change the <strong>Exchange <br />Installed Path according to the environment</strong></p>
<p>Windows Registry Editor Version 5.00</p>
<p>[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell]</p>
<p>[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1]<br />"Install"=dword:00000001<br />"PID"="89383-100-0001260-04309"</p>
<p>[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1\0409]<br />"Install"=dword:00000001</p>
<p>[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1\PowerShellEngine]<br />"ApplicationBase"="C:\\Windows\\System32\\WindowsPowerShell\\v1.0"<br />"RuntimeVersion"="v2.0.50727"<br />"ConsoleHostAssemblyName"="Microsoft.PowerShell.ConsoleHost, <br />Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, <br />ProcessorArchitecture=msil"<br />"ConsoleHostModuleName"="C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\Microsoft.PowerShell.ConsoleHost.dll"<br />"PowerShellVersion"="1.0"</p>
<p>[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1\PowerShellSnapIns]<br />@=""</p>
<p>[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1\PowerShellSnapIns\Microsoft.Exchange.Management.PowerShell.Admin]<br />"CustomPSSnapInType"="Microsoft.Exchange.Management.PowerShell.AdminPSSnapIn"<br />"ApplicationBase"="C:\\Program <br />Files\\Microsoft\\Exchange <br />Server\\bin"<br />"AssemblyName"="Microsoft.Exchange.PowerShell.Configuration, <br />Version=8.0.0.0, Culture=neutral, <br />PublicKeyToken=31bf3856ad364e35"<br />"Description"="Admin Tasks for the Exchange <br />Server"<br />"ModuleName"="C:\\Program Files\\Microsoft\\Exchange <br />Server\\bin\\Microsoft.Exchange.PowerShell.Configuration.dll"<br />"PowerShellVersion"="1.0"<br />"Vendor"="Microsoft <br />Corporation"<br />"Version"="8.0.0.0"</p>
<p>[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1\PowerShellSnapIns\Microsoft.Exchange.Management.Powershell.Support]<br />"CustomPSSnapInType"="Microsoft.Exchange.Management.Powershell.Support.SupportPSSnapIn"<br />"ApplicationBase"="C:\\Program <br />Files\\Microsoft\\Exchange <br />Server\\bin"<br />"AssemblyName"="Microsoft.Exchange.Management.Powershell.Support, <br />Version=8.0.0.0, Culture=neutral, <br />PublicKeyToken=31bf3856ad364e35"<br />"Description"="Support Tasks for the <br />Exchange Server"<br />"ModuleName"="C:\\Program Files\\Microsoft\\Exchange <br />Server\\bin\\Microsoft.Exchange.Management.Powershell.Support.dll"<br />"PowerShellVersion"="1.0"<br />"Vendor"="Microsoft <br />Corporation"<br />"Version"="8.0.0.0"</p>
<p>[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1\ShellIds]</p>
<p>[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell]<br />"Path"="C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell.exe"<br />"ExecutionPolicy"="RemoteSigned"</p>
<p>&nbsp;</p>
<p><strong>PROBLEM&nbsp;2 : Issues Opening The Exchange Management Console <br /></strong></p>
<p>Go to the Following Location <br />HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MMC\SnapIns\ in the registry and check for <br />the exchange, in our case it was missing and due to that we were not even able <br />to see the MMC if we try to go to start &gt; run &gt; MMC and tried to add .</p>
<p>We Imported the registry from a working server. We can also use the following <br />Texts to import it back. Please make sure that we change the <strong>Exchange <br />Installed Path according to the environment</strong> and this can be only used <br />for the <strong>Standalone. PLEASE DO NOT USE THIS FOR CLUSTER</strong></p>
<p>Windows Registry Editor Version 5.00</p>
<p>[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MMC\SnapIns\FX:{76dd58f7-54ba-42e3-a2e0-dbf4b674539f}]<br />@=""<br />"Type"="Microsoft.Exchange.Management.SnapIn.Esm.ExchangeRootSnapIn, <br />Microsoft.Exchange.Management.SnapIn.Esm, <br />PublicKey=0024000004800000940000000602000000240000525341310004000001000100b5fc90e7027f67871e773a8f</p>
<p>de8938c81dd402ba65b9201d60593e96c492651e889cc13f1415ebb53fac1131ae0bd333c5ee6021672d9718ea31a8aebd</p>
<p>0da0072f25d87dba6fc90ffd598ed4da35e44c398c454307e8e33b8426143daec9f596836f97c8f74750e5975c64e2189f45def46b</p>
<p>2a2b1247adc3652bf5c308055da9"<br />"ApplicationBase"="C:\\Program <br />Files\\Microsoft\\Exchange Server\\bin"<br />"NameString"="Exchange Server <br />2007"<br />, <br />Version 4.0.12 reserved.&nbsp; <br />Portions ?2005 <br />reserved."<br />"ModuleName"="Microsoft.Exchange.Management.SnapIn.Esm.dll"<br />"AssemblyName"="Microsoft.Exchange.Management.SnapIn.Esm"<br />"RuntimeVersion"="v2.0.50727"<br />"FxVersion"="2.0"<br />"About"="{00000000-0000-0000-0000-000000000000}"<br />"NameStringIndirect"="@C:\\Program <br />Files\\Microsoft\\Exchange <br />Server\\Bin\\Microsoft.Exchange.Management.NativeResources.dll,-903;8.2.176.0"<br />"DescriptionStringIndirect"="@C:\\Program <br />Files\\Microsoft\\Exchange <br />Server\\Bin\\Microsoft.Exchange.Management.NativeResources.dll,-904;8.2.176.0"<br />"ProviderStringIndirect"="@C:\\Program <br />Files\\Microsoft\\Exchange <br />Server\\Bin\\Microsoft.Exchange.Management.NativeResources.dll,-101;8.2.176.0"<br />"VersionStringIndirect"="@C:\\Program <br />Files\\Microsoft\\Exchange <br />Server\\Bin\\Microsoft.Exchange.Management.SnapIn.Esm.dll,-102;8.2.176.0"<br />"IconIndirect"="@C:\\Program <br />Files\\Microsoft\\Exchange <br />Server\\Bin\\Microsoft.Exchange.Management.NativeResources.dll,-910"<br />"LargeFolderBitmapIndirect"="@C:\\Program <br />Files\\Microsoft\\Exchange <br />Server\\Bin\\Microsoft.Exchange.Management.NativeResources.dll,-911"<br />"SmallFolderBitmapIndirect"="@C:\\Program <br />Files\\Microsoft\\Exchange <br />Server\\Bin\\Microsoft.Exchange.Management.NativeResources.dll,-912"<br />"SmallSelectedFolderBitmapIndirect"="@C:\\Program <br />Files\\Microsoft\\Exchange <br />Server\\Bin\\Microsoft.Exchange.Management.NativeResources.dll,-912"<br />"FolderBitmapsColorMask"=dword:00ff00ff<br />"HelpTopic"="C:\\Program <br />Files\\Microsoft\\Exchange <br />Server\\bin\\exchhelp.chm"<br />"SyncPropertyPageSetActive"=dword:00000001</p>
<p>[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MMC\SnapIns\FX:{76dd58f7-54ba-42e3-a2e0-dbf4b674539f}\Standalone]<br />@=""</p>
<p>&nbsp;</p>
<p>Windows Registry Editor Version 5.00</p>
<p>[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MMC\SnapIns\FX:{7a7e61b7-e5c8-4d65-904e-f26589b6c1e3}]<br />"NameStringIndirect"="@C:\\Program <br />Files\\Microsoft\\Exchange <br />Server\\Bin\\Microsoft.Exchange.Management.NativeResources.dll,-1203;8.2.176.0"<br />"DescriptionStringIndirect"="@C:\\Program <br />Files\\Microsoft\\Exchange <br />Server\\Bin\\Microsoft.Exchange.Management.NativeResources.dll,-1204;8.2.176.0"<br />"ProviderStringIndirect"="@C:\\Program <br />Files\\Microsoft\\Exchange <br />Server\\Bin\\Microsoft.Exchange.Management.NativeResources.dll,-101;8.2.176.0"<br />"VersionStringIndirect"="@C:\\Program <br />Files\\Microsoft\\Exchange <br />Server\\Bin\\Microsoft.Exchange.Management.PublicFolders.dll,-102;8.2.176.0"<br />"IconIndirect"="@C:\\Program <br />Files\\Microsoft\\Exchange <br />Server\\Bin\\Microsoft.Exchange.Management.NativeResources.dll,-1210"<br />"LargeFolderBitmapIndirect"="@C:\\Program <br />Files\\Microsoft\\Exchange <br />Server\\Bin\\Microsoft.Exchange.Management.NativeResources.dll,-1211"<br />"SmallFolderBitmapIndirect"="@C:\\Program <br />Files\\Microsoft\\Exchange <br />Server\\Bin\\Microsoft.Exchange.Management.NativeResources.dll,-1212"<br />"SmallSelectedFolderBitmapIndirect"="@C:\\Program <br />Files\\Microsoft\\Exchange <br />Server\\Bin\\Microsoft.Exchange.Management.NativeResources.dll,-1212"<br />@=""<br />"Type"="Microsoft.Exchange.Management.PublicFolders.PublicFolderSnapIn, <br />Microsoft.Exchange.Management.PublicFolders, <br />PublicKey=0024000004800000940000000602000000240000525341310004000001000100b5fc90e7027f67</p>
<p>871e773a8fde8938c81dd402ba65b9201d60593e96c492651e889cc13f1415ebb53fac1131ae0bd333c5ee602</p>
<p>1672d9718ea31a8aebd0da0072f25d87dba6fc90ffd598ed4da35e44c398c454307e8e33b8426143daec9f5968</p>
<p>36f97c8f74750e5975c64e2189f45def46b2a2b1247adc3652bf5c308055da9"<br />"ApplicationBase"="C:\\Program <br />Files\\Microsoft\\Exchange Server\\bin"<br />"NameString"="Public Folder <br />Management Console"<br />"Description"="Allows management of Exchange Server 2007 <br />Public Folders. ?2007 Microsoft Corporation. All rights <br />reserved."<br />"ModuleName"="Microsoft.Exchange.Management.PublicFolders.dll"<br />"AssemblyName"="Microsoft.Exchange.Management.PublicFolders"<br />"RuntimeVersion"="v2.0.50727"<br />"FxVersion"="3.0.0.0"<br />"About"="{00000000-0000-0000-0000-000000000000}"<br />"FolderBitmapsColorMask"=dword:00ff00ff<br />"HelpTopic"="C:\\Program <br />Files\\Microsoft\\Exchange <br />Server\\bin\\exchhelp.chm"<br />"SyncPropertyPageSetActive"=dword:00000001</p>
<p>[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MMC\SnapIns\FX:{7a7e61b7-e5c8-4d65-904e-f26589b6c1e3}\NodeTypes]<br />@=""</p>
<p>[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MMC\SnapIns\FX:{7a7e61b7-e5c8-4d65-904e-f26589b6c1e3}\Standalone]<br />@=""</p>
<p>&nbsp;</p>
<p><strong>PROBLEM&nbsp;3 : Missing Power Shell Logs in the Event Viewer</strong></p>
<p>I removed the following registry entry on my lab box from the <br />HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\EventLog\PowerShell and i was <br />in the same situation, i do not see the Powershell logs on the event viewer.</p>
<p>Before Deleting, i had an export of the export, so i imported the same by <br />using the the following text and saving it as .reg</p>
<p>&nbsp;</p>
<p>Windows Registry Editor Version 5.00</p>
<p>[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\EventLog\PowerShell]</p>
<p>[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\EventLog\PowerShell\Exchange]<br />@=""<br />"EventMessageFile"=hex(2):43,00,3a,00,5c,00,50,00,72,00,6f,00,67,00,72,00,61,\<br />&nbsp; <br />00,6d,00,20,00,46,00,69,00,6c,00,65,00,73,00,5c,00,4d,00,69,00,63,00,72,00,\<br />&nbsp; <br />6f,00,73,00,6f,00,66,00,74,00,5c,00,45,00,78,00,63,00,68,00,61,00,6e,00,67,\<br />&nbsp; <br />00,65,00,20,00,53,00,65,00,72,00,76,00,65,00,72,00,5c,00,62,00,69,00,6e,00,\<br />&nbsp; <br />5c,00,70,00,77,00,72,00,73,00,68,00,6d,00,73,00,67,00,2e,00,64,00,6c,00,6c,\<br />&nbsp; <br />00,00,00<br />"CategoryMessageFile"=hex(2):43,00,3a,00,5c,00,50,00,72,00,6f,00,67,00,72,00,\<br />&nbsp; <br />61,00,6d,00,20,00,46,00,69,00,6c,00,65,00,73,00,5c,00,4d,00,69,00,63,00,72,\<br />&nbsp; <br />00,6f,00,73,00,6f,00,66,00,74,00,5c,00,45,00,78,00,63,00,68,00,61,00,6e,00,\<br />&nbsp; <br />67,00,65,00,20,00,53,00,65,00,72,00,76,00,65,00,72,00,5c,00,62,00,69,00,6e,\<br />&nbsp; <br />00,5c,00,70,00,77,00,72,00,73,00,68,00,6d,00,73,00,67,00,2e,00,64,00,6c,00,\<br />&nbsp; <br />6c,00,00,00<br />"CategoryCount"=dword:00000007</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
</div>
</div>
<p>&nbsp;</p>
<div>
<h2 class="subHeading">More Information</h2>
<div class="section">
<div>&nbsp;</div>
<div><strong>PLEASE BACK UP THE EXSISTING REGISTRY BEFORE APPLYING THE ABOVE <br />FIX</strong></div>
<div><strong></strong>&nbsp;</div>
<div><strong>Important</strong> This&nbsp; method contains steps that tell you how to modify <br />the registry. However, serious problems might occur if you modify the registry <br />incorrectly.</div>
<div>&nbsp;Therefore, make sure that you follow these steps carefully. For added <br />protection, back up the registry before you modify it. Then, you can <span id="#h1" class="KeywordHighlight">restore</span> the registry if a problem occurs. <br />For more information about how to back up and <span id="#h2" class="KeywordHighlight">restore</span> the registry, click the following article <br />number to view the article in the Microsoft Knowledge Base:</div>
<div><a href="https://support.microsoft.com/kb/322756/">322756</a>&nbsp; <br /><span>(https://support.microsoft.com/kb/322756/ ) </span>How to back up and <span id="#h3" class="KeywordHighlight">restore</span> the registry in Windows</div>
</div>
</div>
<p>&nbsp;</p>
<p><span style="font-family: arial,helvetica,sans-serif; font-size: x-small;"><strong>Written by:</strong></span></p>
<p><span style="font-family: arial,helvetica,sans-serif; font-size: x-small;"><strong>Naveen Vasudevan</strong>, Technical Lead, Enterprise Communications Services, Microsoft&nbsp;</span></p>
<p>Have fun with Powershell and exchange :)</p>
<p>&nbsp;</p>]]></content:encoded>
    </item>
  </channel>
</rss>