tag:blogger.com,1999:blog-41247729141774453582024-03-13T13:52:54.052-07:00Thoughts from a Desktop EngineerIBAGEEKhttp://www.blogger.com/profile/15871435525728795312noreply@blogger.comBlogger46125tag:blogger.com,1999:blog-4124772914177445358.post-21222986535254774682021-08-05T12:44:00.008-07:002021-08-05T13:37:54.490-07:00NetApp ONTAP 9.8 with SRM 8.4 Configuration Guide<p>By all means I am not an expert with NetApp hardware or VMware SRM. However over earlier this year I got the task to get SRM installed and working with our new NetApp AFF arrays. I figured this would be a great place to share the steps taken to get everything up and running. As with any deployment always check the compatibility matrixes to ensure you are going to be supported by your vendors.</p><p>So lets get started. </p><div style="text-align: left;"><b><span style="font-family: verdana; font-size: medium;"><u>The </u></span></b><span style="font-family: verdana; font-size: medium;"><b><u>Prerequisites</u></b></span></div><div><ol style="text-align: left;"><li><span style="font-family: inherit;">A pair of NetApp Arrays. For my setup I was working with a pair of NetApp A400 AFF running ONTAP 9.8 <br /><br /></span></li><li>NetApp<span style="font-family: inherit;"> ONTAP Tools for </span>VMware<span style="font-family: inherit;"> (Formally the VSC) Installed.<br /></span><a href="https://docs.netapp.com/vapp-98/index.jsp">ONTAP tools for VMware vSphere 9.8 Documentation Center (netapp.com)</a><br /><a href="https://mysupport.netapp.com/site/products/all/details/otv/downloads-tab/download/63792/9.8">ONTAP Tools for VMware 9.8 Download (NetApp Support Login Required)</a><br /><br /></li><li><span style="font-family: inherit;">VMware SRM </span>Installed<span style="font-family: inherit;">. for the purposes of this I deployed the virtual appliance version SRM 8.4 as VMware has discontinued support for the Windows version. If you need a guide on installing SRM, </span>VMware has a great document with step by step instructions. <a href="https://docs.vmware.com/en/Site-Recovery-Manager/8.4/com.vmware.srm.install_config.doc/GUID-B3A49FFF-E3B9-45E3-AD35-093D896596A0.html">VMware SRM 8.4 Documentation</a><br /><br /></li><li>Have download the NetApp SRA. <a href="https://mysupport.netapp.com/site/products/all/details/otv/downloads-tab/download/63792/9.8">ONTAP Tools for VMware 9.8 Download (NetApp Support Login Required)</a></li></ol></div><div style="text-align: left;"><span style="font-family: verdana; font-size: medium;"><b><u>Configuring ONTAP Tools</u></b></span></div><p><span style="font-family: inherit;">Now that you have the prerequisites done we can configure ONTAP Tools and get the arrays added. </span></p><blockquote style="border: none; margin: 0px 0px 0px 40px; padding: 0px;"><p style="text-align: left;"></p><ul style="text-align: left;"><li>Enable TLS 1.2. By default TLS is not enabled and it needs to be enabled for the NetApp SRA to be able to communicate with the ONTAP Tools for VMware.</li></ul><p></p></blockquote><blockquote style="border: none; margin: 0px 0px 0px 40px; padding: 0px;"><p style="text-align: left;"></p></blockquote><blockquote style="border: none; margin: 0px 0px 0px 40px; padding: 0px;"><ol style="text-align: left;"><ol><li>From the console of the ONTAP Tools VM, login using the Maint Login. </li><li>Select<b> Option 1</b> "Application Configuration" </li><li>Select <b>Option 13</b> "Enable TLS Protocol" </li><li>Acknowledge the warning that the operation will restart ONTAP Tools for VMware. </li><li>Type the protocol you wish to enable. I used just <b>TLSv1.2</b></li><li>Press <b>Enter</b> </li><li>Follow the Prompts to Exit" </li></ol></ol></blockquote><blockquote style="border: none; margin: 0px 0px 0px 40px; padding: 0px;"><ul style="text-align: left;"><li>Creating a VSC/ONTAP Tools User on the NetApp Array. Starting in ONTAP 9.7 and above the roles JSON file can be downloaded from the appliance. Older versions of ONTAP use the RBAC tool from NetApp along with the updated XML privilege's file. If you already have the VSC deployed and configured, you may just need to update the existing users permissions to get everything working. </li></ul></blockquote><p></p><ol style="text-align: left;"><ol><ol><li>download the privilege's file from the ONTAP tools appliance https://<IP-Address>:9083/vsc/config/VSC_ONTAP_User_Privileges.zip</li><li>Extract the JSON file from the zip.</li><li>Logon to your NetApp Array</li><ol><li>Navigate to <b>Cluster </b>/ <b>Settings </b>/ <b>Users and Roles</b></li><li>In the User pane, click <b>Add</b></li><li>Select <b>Virtualization Products</b></li><li>Upload the JSON </li><li>From the Product Compatibility drop-down chose either <b>VSC and SRA</b> or <b>VSC,VASA Provider, SRA. </b>This is important to ensure the SRA and ONTAP Tools has the privilege's it needs to function properly.</li><li>Enter a Username and Password the account. </li><li>Leave the suggested privilege's checked </li><li>Click <b>Add</b></li></ol></ol></ol></ol><blockquote style="border: none; margin: 0px 0px 0px 40px; padding: 0px; text-align: left;"><ul style="text-align: left;"><li>Adding your Array to ONTAP Tools for VMware.<br />Each VM that resides on an NetApp served datastore, whether its block or NFS must be added to the ONTAP tools storage system so SRM can properly discover and communicate with the storage array. You can either add the SVM directly or connect to the cluster mgmt. IP.</li></ul></blockquote><blockquote style="border: none; margin: 0px 0px 0px 40px; padding: 0px;"><blockquote style="border: none; margin: 0px 0px 0px 40px; padding: 0px;"><p style="text-align: left;"></p></blockquote></blockquote><blockquote style="border: none; margin: 0px 0px 0px 40px; padding: 0px;"><blockquote style="border: none; margin: 0px 0px 0px 40px; padding: 0px;"><ol style="text-align: left;"><li>Logon to your VCenter and navigate to the NetApp ONTAP Tools plugin </li><li>Select <b>Storage Systems</b> from the left hand menu. </li><li>Click <b>ADD</b>. </li><ol><li>Enter the IP or DNS Name of the SVM or Array</li><li>Enter the VSC/ONTAP Tools username created above (case sensitive) and password. </li><li> Click <b>ADD</b></li></ol><li>Wait a few min and the array will be listed. </li></ol></blockquote></blockquote><blockquote style="border: none; margin: 0px 0px 0px 40px; padding: 0px;"><blockquote style="border: none; margin: 0px 0px 0px 40px; padding: 0px;"><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto;"><tbody><tr><td style="text-align: center;"><a href="https://lh3.googleusercontent.com/-dibPJyIPV10/YMuhtuQKZFI/AAAAAAAAVFM/aUNYkknBnBMQFJepQhCHspMklp-lq6YbQCLcBGAsYHQ/image.png" style="margin-left: auto; margin-right: auto; text-align: center;"><img data-original-height="276" data-original-width="1545" height="133" src="https://lh3.googleusercontent.com/-dibPJyIPV10/YMuhtuQKZFI/AAAAAAAAVFM/aUNYkknBnBMQFJepQhCHspMklp-lq6YbQCLcBGAsYHQ/w747-h133/image.png" width="747" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;">ONTAP Tools Storage Systems</td></tr></tbody></table></blockquote></blockquote><div style="text-align: left;"><span style="font-size: medium;"> </span></div><div style="text-align: left;"><span style="font-size: medium;"><span style="font-family: verdana;"><b><u>Configuring Site Recovery Manager Storage Replication Adapter</u></b></span></span></div><p style="text-align: left;">Once you have installed VMware Site Recovery Manager (SRM), you will need to take a few steps to configure SRM to to communicate with the NetApp Storage Replication Adapter (SRA) and VSC. Lets get started. </p><blockquote style="border: none; margin: 0px 0px 0px 40px; padding: 0px;"><p style="text-align: left;"></p></blockquote><blockquote style="border: none; margin: 0px 0px 0px 40px; padding: 0px;"><ol style="text-align: left;"><li>Download the NetApp SRM SRA if you have not already. </li><li>Login to each of the SRM Appliance Management page: https://FQDN:5480</li><ol><li>Click Storage<b> Replication Adapters</b></li><li>Click <b>New Adapter</b></li><li>Click Upload and browse to the location of the NetApp SRA. This should be a tar.gz file.<div class="separator" style="clear: both; text-align: center;"><a href="https://lh3.googleusercontent.com/-7R05UOiwoP0/YQwDEgrjlPI/AAAAAAAAV9s/EZ6QJkhGuJYvwJGb2ttbNUP66oLXRugEwCLcBGAsYHQ/image.png" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="276" data-original-width="794" height="139" src="https://lh3.googleusercontent.com/-7R05UOiwoP0/YQwDEgrjlPI/AAAAAAAAV9s/EZ6QJkhGuJYvwJGb2ttbNUP66oLXRugEwCLcBGAsYHQ/w400-h139/image.png" width="400" /></a></div><br /></li></ol><li> With the SRA installed we must configure the SRA to connect to our ONTAP Tools deployment.</li><ol><li>Using Putty or your preferred SSH client, connect to the SRM appliance.</li><li>Elevate to root using the command: <b>su root</b></li><li>Get the docker CONTAINER ID used by the SRA using the following command: <b>docker ps -l <div class="separator" style="clear: both; text-align: center;"><a href="https://lh3.googleusercontent.com/-Y6Nj0RNIWRA/YQwo8X_Q1tI/AAAAAAAAV90/VLJmSdZmUZoPzuoaXXlwP3auBDICHFVQgCLcBGAsYHQ/image.png" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="51" data-original-width="1134" height="18" src="https://lh3.googleusercontent.com/-Y6Nj0RNIWRA/YQwo8X_Q1tI/AAAAAAAAV90/VLJmSdZmUZoPzuoaXXlwP3auBDICHFVQgCLcBGAsYHQ/w400-h18/image.png" width="400" /></a></div><br /></b></li><li>Login to the docker container using the following command: <b>docker exec -it -u srm <container id> sh</b></li><li> Configure the SRA with the ONTAP Tools IP address and the administrator password using the following command: <b>perl command.pl -I <ONTAP Tools - IP> administrator <ONTAP Tools - Password></b>. </li></ol></ol></blockquote><div style="text-align: left;"><span style="font-family: verdana; font-size: medium;"><b><u>Configuring Site Recovery Manager</u></b></span></div><div style="text-align: left;"><span style="font-family: verdana; font-size: medium;"><b><br /></b></span></div><div style="text-align: left;"><span>Now that we have deployed and configured ONTAP Tools, SRM, and the SRA, we can verify that SRM shows our SRA and that its status is OK, and that we can configure our Array Pairs. </span></div><div style="text-align: left;"><ol style="text-align: left;"><ol><li><span>Login vCenter and from the Menu launch Site Recovery.</span></li><li><span>Create your Site Pair if you have not already</span></li><li><span>from the left hand menu under <b>Configure </b>/ <b>Array Based Replication / Storage Replication Adapters. </b>verify that the<span face="Metropolis, Avenir Next, Helvetica Neue, Arial, sans-serif" style="color: #565656;"><span style="font-size: 14px;"> </span></span></span>NetApp Storage Replication Adapter for ONTAP shows a status of OK.<br /><div class="separator" style="clear: both; text-align: center;"><a href="https://lh3.googleusercontent.com/-ah_g_Ube-us/YQwwu5vc1GI/AAAAAAAAV98/r1ZjTb2XLu8uvdU_Sq9FeN0sio-Z-99dQCLcBGAsYHQ/image.png" style="margin-left: 1em; margin-right: 1em;"></a><div class="separator" style="clear: both; text-align: center;"><a href="https://lh3.googleusercontent.com/-ah_g_Ube-us/YQwwu5vc1GI/AAAAAAAAV98/r1ZjTb2XLu8uvdU_Sq9FeN0sio-Z-99dQCLcBGAsYHQ/image.png" style="margin-left: 1em; margin-right: 1em;"></a><a href="https://lh3.googleusercontent.com/-Bfj4TDgUNvQ/YQwxICFXovI/AAAAAAAAV-E/uhlKjhcumZUp6XWO8qCzCyeLlW1kJ4q0ACLcBGAsYHQ/image.png" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="428" data-original-width="776" height="176" src="https://lh3.googleusercontent.com/-Bfj4TDgUNvQ/YQwxICFXovI/AAAAAAAAV-E/uhlKjhcumZUp6XWO8qCzCyeLlW1kJ4q0ACLcBGAsYHQ/image.png" width="320" /></a></div><br /></div></li><li><div class="separator" style="clear: both; text-align: left;">Verify the same output at the recovery site.</div></li><li><div class="separator" style="clear: both; text-align: left;">From the left hand menu, Click <b>Array Pairs</b></div></li><ol><li>Click <b>ADD</b></li><li>Select your NetApp Storage Replication Adapter. Click <b>Next</b></li><li>Fill out the Local Array Manager Info:</li><ul><li>Enter a name for the Array Manager on the "Local vCenter"</li><li>Enter the IP or FQDN Hostname of the NetApp Cluster or the SVM</li><li>Enter a list of IP for the NFS LIFS on the Array. (leave blank if using SAN)</li><li>Enter the Name of the SVM hosting the Disks. leave blank if you are connecting directly to an SVM.</li><li>Enter a list volumes to discover. leave blank to discover all volumes on SVM</li><li>Enter a list of volumes to exclude from discovery</li><li>Enter the username created when you during section for configuring ONTAP Tools. </li><li><div><span>Enter the password for the account in previous step.</span></div></li></ul><li>Click <b>Next</b></li><li>Repeat step 3 for the recovery site.</li><li>Click <b>Next</b></li><li>Click <b>Finish<br /></b></li></ol></ol></ol><div><b>Notes:</b></div><div><ul style="text-align: left;"><li><b>Hide the snapshot directories on your source volumes to prevent warnings when performing your failovers.</b></li><li><b>Make sure your SVMs at your protected site and at your recovery site are not the same. If they are, the Array Pairing will fail. </b></li></ul></div></div>IBAGEEKhttp://www.blogger.com/profile/15871435525728795312noreply@blogger.com1tag:blogger.com,1999:blog-4124772914177445358.post-73856065392698919712021-07-28T18:15:00.024-07:002021-07-29T10:10:44.865-07:00UCS Blade Firmware 4.2(1d) upload issue<p>There is a known Cisco bug ID <a href="https://bst.cloudapps.cisco.com/bugsearch/bug/CSCvy96101" target="_blank"><b>CSCvy96101</b> </a>in which when trying to upload the 4.2(1d)B bundle you will get an error on the FSM saying "Remote Invocation Result: Sw Defect" with a description "Cannot execute image unpack (invalid Image)#" and the progress status will be stuck at 39%. </p><p>to address the issue you will need to remove the failed Download Task, and upgrade the Infrastructure code first to 4.2(1d) then upload your blade bundle.</p><p>Screenshot:</p><p></p><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://1.bp.blogspot.com/-fAKfOF2-Lx0/YQIDJbZX8VI/AAAAAAAAV1Q/ngPAMTVE9boyEQ-fOhTANkBSf7UyiSYcgCLcBGAsYHQ/s1489/UCS%2BBladeBundle%2BErr.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="748" data-original-width="1489" height="442" src="https://1.bp.blogspot.com/-fAKfOF2-Lx0/YQIDJbZX8VI/AAAAAAAAV1Q/ngPAMTVE9boyEQ-fOhTANkBSf7UyiSYcgCLcBGAsYHQ/w880-h442/UCS%2BBladeBundle%2BErr.png" width="880" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><br /></div><br /><br />Happy Upgrading<p></p>IBAGEEKhttp://www.blogger.com/profile/15871435525728795312noreply@blogger.comtag:blogger.com,1999:blog-4124772914177445358.post-75510789006028816472020-05-19T05:45:00.001-07:002020-12-15T12:47:26.424-08:00Microsoft Teams no Camera foundThere are a lot of various articles out there on how to try to fix a missing camera in the Microsoft Teams desktop app on Windows 10. <div>
I found the issue was the laptop had an in place upgrade from windows 7 to 10 and the camera was was installed under the Camera Node in Device Manager. </div>
<div>
<img alt="" src="data:image/png;base64,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" /></div>
<div>
To fix the issue I had to uninstall the camera and remove the installed drivers. Once I did that and scanned for hardware changes, the camera reinstalled but under the Imaging Devices node. Relaunched Teams and the camera was now being detected.</div>
IBAGEEKhttp://www.blogger.com/profile/15871435525728795312noreply@blogger.com0tag:blogger.com,1999:blog-4124772914177445358.post-46799838322281495082020-05-19T04:52:00.000-07:002020-05-19T04:52:22.485-07:00NSX Management Service Operation Failed. (Initialization of Admin Registration Service Provider failed. Root Cause: The SSL certificate of the STS service cannot be verified)<br />
<div class="MsoNormal">
<b><u>The Problem</u></b></div>
<div class="MsoNormal">
So I am new to supporting VMware from an infrastructure prospective and do to some departures at our company, our large VMware deployment is now my responsibility. </div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<a href="https://1.bp.blogspot.com/-9VrOnMa1A8A/Xcl0wfXRQcI/AAAAAAAANU8/9XpqoMd4lEM1GryMqRXD1nvBETRVAY-xQCLcBGAsYHQ/s1600/2019-11-11%2BNSXManager-LookupSrv.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="373" data-original-width="1527" height="77" src="https://1.bp.blogspot.com/-9VrOnMa1A8A/Xcl0wfXRQcI/AAAAAAAANU8/9XpqoMd4lEM1GryMqRXD1nvBETRVAY-xQCLcBGAsYHQ/s320/2019-11-11%2BNSXManager-LookupSrv.png" width="320" /></a>A few weeks ago, I updated our expiring Vcenter custom machine certificate
using the VMware SSL certificate tool. This Vcenter is still windows but thanks to these two articles,
we were able to fix this issue:</div>
<div class="MsoNormal">
<o:p></o:p></div>
<br />
<br />
<br />
<div class="MsoNormal">
Recently replaced our Vcenter custom machine certificate
using the SSL cert tool. This Vcenter is still windows but thanks to these two articles,
we were able to fix this issue:<o:p></o:p></div>
<div class="MsoNormal">
<a href="https://techie.cloud/blog/2019/04/21/issue-setting-up-lookup-service-in-nsx-manager-6.4.4/">https://techie.cloud/blog/2019/04/21/issue-setting-up-lookup-service-in-nsx-manager-6.4.4/</a>
<a href="https://www.vembu.com/blog/replacing-vcenter-ssl-certificate-lookup-service/">https://www.vembu.com/blog/replacing-vcenter-ssl-certificate-lookup-service/</a><br />
<a href="https://kb.vmware.com/s/article/2121689?ui-force-components-controllers-hostConfig.HostConfig.getConfigData=1&r=2&other.KM_Utility.getArticleDetails=1&other.KM_Utility.getArticleMetadata=1&other.KM_Utility.getAllTranslatedLanguages=1&ui-comm-runtime-components-aura-components-siteforce-qb.Quarterback.validateRoute=1">VMware
KB2121689</a><o:p></o:p></div>
<br />IBAGEEKhttp://www.blogger.com/profile/15871435525728795312noreply@blogger.com0tag:blogger.com,1999:blog-4124772914177445358.post-37458122867363430592017-06-02T08:42:00.002-07:002017-06-02T08:42:21.649-07:00Outlook 2010 - Error While Preparing to Send Sharing MessageWe recently satarted to see an eror when users try to send a calender sharing invitation to users from their Outlook 2010 client. the error prenented reads as follows "Error While Preparing to Send Sharing Message" Our orginzation at the time of writing this is runing Exchange 2016 CU4 and Outlook 2010 SP2 April 2017 Updates and Outlook is configured to use MAPI over HTTP. the issue looks to be tied to the permissions on the calendar and permisisons being present for users who nolong are with the orginization and their mailboxes have been disabled.<br />
to ressolve this issue review the permission list on the calendar and remove any users who nolonger have a mailbox within Exchange. <br />
You can as workaround, use Outlook on the Web to share the calendar and that will work just fine IBAGEEKhttp://www.blogger.com/profile/15871435525728795312noreply@blogger.com0tag:blogger.com,1999:blog-4124772914177445358.post-56634852124312094742016-12-29T05:17:00.004-08:002016-12-29T05:17:58.735-08:00Outlook On The Web Error when Saving Calendar Appearance / Reminders OptionsI have been meaning to post this for a while now and well life and work sometimes get in the way of sharing the nuggets of info from my job. <br />
So here is the scenario we were running into:<br />
upon migrating an Exchange 2013 Mailbox to Exchange 2016 CU1 some users when adjusting their calendar appearance or setting the option to send a daily agenda email would get an error when saving their settings. The user would get an error that "There was a problem saving your changes. Please try again." you would then see a correlating error in the event viewer with Event ID: 4999 on the server the user was connected to. After working for several days with support, we found that within the mailbox calendar configuration the weather location bookmark was set to a -1 rather than a 0. This setting is currently only used in the O365 and we are not sure as why when migrating a user this bit gets flipped for some users.<br />
you can see this property value by running a Get-MailboxCalendarConfiguration -Identity <username>|FT ID*,Weather* we found that the only way to reset that value was to use MFC Mapi and delete the IPM.Configuration.OWA.useroptions from the users mailbox. <br />
<br />
To find all Mailboxes affected you can run:<br />
Get-Mailbox -Server <ServerName> -ResultSize unlimited | Get-MailboxCalendarConfiguration | Where {$_.WeatherLocationBookmark -ne "0"}| FL Id*,WeatherLocationBookmark<br />
<br />
to Resolve:<br />
1. Download the latest version of <a href="https://mfcmapi.codeplex.com/"><span style="color: blue;">MFC Mapi</span></a><br />
2. Grant yourself Full access to the effected users mailbox (Add-mailboxPermission -Identity <effected ussername="">-User <your username="">-AccessRights FullAccess)<br />
3. Ensure the user has MAPI access enabled<br />
4. Open MFC Mapi</your></effected></username><br />
<div style="text-indent: 0.5in;">
a. Click Session > Logon</div>
<div style="text-indent: 0.5in;">
b. Locate the mailbox on the right hand side and double-click it</div>
<div style="text-indent: 0.5in;">
c. Right-Click the Root Container and chose Open Associated Contents Table</div>
<div style="text-indent: 0.5in;">
d. In the new window that opened scroll to the right till you see the Message Class Column</div>
<div style="text-indent: 0.5in;">
e. Scroll down till you locate the IPM.Configuration.OWA.UserOptions Message</div>
<div style="text-indent: 0.5in;">
f. Right-Click IPM.Configuration.OWA.useroptions and chose Delete Message</div>
<div style="text-indent: 0.5in;">
g. In the Delete Item Window click OK</div>
<div style="text-indent: 0.5in;">
h. Close all MFC windows<br />
5. Verify issue is resolved by running Get-MailboxCalendarConfiguration -Identity <username> <username>| FT WeatherLocationBookmark<br style="mso-special-character: line-break;" /> <br style="mso-special-character: line-break;" /> </username></div>
<div style="margin: 0in 0in 8pt;">
<span style="font-family: "calibri";"> </span></div>
IBAGEEKhttp://www.blogger.com/profile/15871435525728795312noreply@blogger.com0tag:blogger.com,1999:blog-4124772914177445358.post-47153930839588570872016-12-08T06:31:00.001-08:002016-12-08T06:31:18.547-08:00Mailbox Export Request and MapiExceptionUnknownUser: Unable to make connection to the server. (hr=0x80004005, ec=1003)As I was preparing to export several mailboxes to PST for a Cross Forest Exchange 2010 to 2016 Migration as a part of an acquisition, I ran in to an issue that when I would run a New-MailboxExportRequest and get an error "Couldn't connect to the source mailbox" When running the cmdlet with a -Verbose, would see the error "MapiExceptionUnknownUser: Unable to make connection to the server. (hr=0x80004005, ec=1003)" After going through some troubleshooting steps:<br />
-Verifying MAPI is enabled on the accounts.<br />
-Verifying that the Exchange Trusted SubSystems group had R/W Share Permissions.<br />
-tried a different users.<br />
<br />
After nothing fixed my issue, I called support. One troubleshooting step that they had me do that never crossed my mind was to create a new mailbox database. after doing that I moved a user successfully to that database and was able to export it with no issues. upon comparing the mailbox database settings Get-MailboxDatabase -Identity <DBName> I noticed that the new database did not have a Public folder configured and the other database did but it looked as if someone had deleted it. Using ADSI we removed the Public folder path from the database and were able to export mailboxes without any issues. <br />
<br />
Removing Public Folder path from Mailbox Database:<br />
1. Launch ADSI and enter the configuration Node.<br />
2. Navigate to :<br />
Services > Microsoft Exchange > Exchange OrgID > Administrative Groups > Exchange Administrative Groups (FYDIBOHF23SPDLT) > Databases<br />
3. Right-Click the Database with the public folder you want to remove and click Properties<br />
4. From the Attribute Editor tab select the attribute msExchHomePublicMDB<br />
5. Click Edit<br />
6. Copy that value to a text file as a backup. :)<br />
7. Click Clear<br />
8. Click OK <br />
9. Click OK to close the attribute editor<br />
10. Close ADSI Edit<br />
<br />
IBAGEEKhttp://www.blogger.com/profile/15871435525728795312noreply@blogger.com4tag:blogger.com,1999:blog-4124772914177445358.post-76178873674950839642016-09-07T12:01:00.002-07:002016-09-07T12:01:37.679-07:00Outlook Opens MinimizedRan in to this strange issue today. a User was complaining that outlook would start minimized. We were able only able to have it reappear by using task manager to maximize the application. I was able to open Outlook without any issues starting it in safe mode (Outlook.exe /Safe). Upon ruling out that shortcut was not set to start minimized and that no COM add-ins were causing the issue , I did a quick search and found in an <a href="https://social.technet.microsoft.com/Forums/en-US/9c0cd022-12cf-43fc-8b0b-5a95f4a4b663/outlook-professional-plus-2010-opens-off-the-screenminimised?forum=officesetupdeployprevious">MSFT TechNet</a> post from Rob Kubben to remove the <b>Frame </b> registry key located in the [HKEY_CURRENT_USER\Software\Microsoft\Office\<Version>\Outlook\Office Explorer].<br />
Upon restarting Outlook it opened maximized and would remember its last window size properly. <br />
<br />
IBAGEEKhttp://www.blogger.com/profile/15871435525728795312noreply@blogger.com0tag:blogger.com,1999:blog-4124772914177445358.post-11887942551762118742016-08-10T05:34:00.001-07:002016-08-22T13:16:46.646-07:00Outlook on The Web Prompting for Credentials from my Web ProxyRecently we begain moved about our users to our new Exchange 2016 infrastructure. We begain to get a few calls from some users that they were being prompted for credentials whenever they would open an email in Outlook on The Web that contained external embedded content. In our eviroment a lot of our generic workstations and if you want to go out to the internet, you must provide you AD username and password. upon further digging, we found that Outlook on the Web will send multiple GET requests prior to being prompted for credentials. The only way to work around this issue is to open a website and go to site such as cnn.com to get authenticated. Once authenticated you will be able to open an email with embedded content. IBAGEEKhttp://www.blogger.com/profile/15871435525728795312noreply@blogger.com0tag:blogger.com,1999:blog-4124772914177445358.post-12033618897429824422016-07-05T18:09:00.000-07:002016-07-06T18:16:11.206-07:00Powershell Preview of a Dynamic Distribution ListHere is how in a single line to preview a dynamic distribution group using PowerShell.<br />
<br />
<script type="syntaxhighlighter"; class="brush: ps";>
<![CDATA[Get-Recipient -RecipientPreviewFilter (Get-DynamicDistributionGroup -Identity <alias>).RecipientFilter]]></Script><br />
<br />
IBAGEEKhttp://www.blogger.com/profile/15871435525728795312noreply@blogger.com0tag:blogger.com,1999:blog-4124772914177445358.post-69400210557642723182016-06-29T09:51:00.003-07:002016-07-06T18:20:07.595-07:00Exchange Scripting AgentIn this post I will be sharing some of my findings with Exchange's Cmdlet Scripting agent.<br />
<br />
<br />
<br />
Back in Exchange 2010 Microsoft Introduced the Cmdlet Extension agents. These agents perform various task such as User Mailbox distribution when a mailbox is provisioned. to see a list of the Extension agents, run the following Get-CmdletExtensionAgent |FT Name,Priority,Enabled .<br />
This will output the agents there priority and if they are enabled or not. In the rest of this post I will be covering the Scripting Agent. the scripting Agent allow you to run Exchange cmdlets as a mailbox (user, shared, or resource) or Distribution list are created or enabled via the Shell or EAC. <br />
<br />
<br />
<br />
<br />
<br />
The Scripting Agent utilizes an XML document named ScriptingAgentConfig.xml located on Each Exchange Servers (C:\Program Files\Microsoft\Exchange Server\v15\Bin\CmdletExtensionAgents) to preform the exchange related tasks you desire. Microsoft provides a sample file name ScriptingAgentConfig.xml.sample which I recommend that you review. <br />
<br />
The XML contains several sections or nodes allowing you to define what cmdlets you want to trigger on and within what API. <br />
the following API calls are exposed: (<a href="https://technet.microsoft.com/en-us/library/dd335054(v=exchg.80).aspx">https://technet.microsoft.com/en-us/library/dd335054(v=exchg.80).aspx</a>)<br />
<ul>
<li><b>ProvisionDefaultProperties</b> - This API can be used to set values of properties on objects when they're created. When you set a value, that value is returned to the cmdlet and the cmdlet sets the value on the property. You can fill in values on properties if the user didn't specify a value, or you can override the value specified by the user. This API respects the values set by higher priority agents. The Scripting agent cmdlet extension agent won't overwrite the values set by higher priority agents.</li>
<li><b>UpdateAffectedIConfigurable</b> - This API can be used to set values of properties on objects after all other processing has been completed, but the Validate API hasn't yet been invoked. This API respects the values set by higher priority agents. The Scripting agent cmdlet extension agent won't overwrite the values set by higher priority agents.</li>
<li><b>Validate</b> - This API can be used to validate the values on an object's properties that are about to be set by the cmdlet. This API is called just before a cmdlet writes any data. You can configure validation checks that allow a cmdlet to either succeed or fail. If a cmdlet passes the validation checks in this API, the cmdlet is allowed to write the data. If the cmdlet fails the validation checks, it returns any errors defined in this API.</li>
<li><b>OnComplete</b> - This API is used after all cmdlet processing is complete. It can be used to perform post-processing tasks, such as writing data to an external database.</li>
</ul>
Global Variables- These hold information provided either via the EAC or Shell. <br />
<ul>
<li>$readOnlyIConfigurable.</li>
<li>$provisioningHandler.UserSpecifiedParameters["ParameterName"]</li>
</ul>
Deploying the xml File:<br />
When it comes time to deploy your Completed script, you will need to deploy it to each exchange server. the file must be copied to C:\Program Files\Microsoft\Exchange Server\v15\Bin\CmdletExtensionAgents. I would recommend if you have more then 2 exchange server you download Paul Cunninghams PushScriptingAgentConfig.ps1 it can be found <a href="https://github.com/cunninghamp/Powershell-Exchange/blob/master/Push%20Scripting%20Agent%20Config%20XML/PushScriptingAgentConfig.ps1" target="_blank">here</a><br />
<br />
<br />
once you have deployed your custom ScriptingAgentConfig.xml file you need to enable the scripting agent. to do so run the following Cmdlet:<br />
Enable-CmdletExtensionAgent -Identity "Scripting Agent"<br />
If you need to disable the scripting agent run the following<br />
Disable-CmdletExtensionAgent -Identity "Scripting Agent"<br />
<br />
<br />
<b>A Few Gotchas</b><br />
1. I have seen that during upgrades such as CU or rollups that setup will complain if the scripting agent is enabled. So I would recommend that during maintenance or when introducing a new version of exchange that you disable the scripting agent. <br />
<br />
<br />
<div>
</div>
2. If you have multiple domain controllers that you know what DC Exchange is using. I have found that using the following : $DC = [string]($readOnlyIConfigurable.OriginatingServer) is the best way to get this. <br />
<br />
<br />
Below is an example ScriptingAgentConfig.xml I created to setup a user mailbox once its been created using either new-mailbox or the enable-mailbox cmdlets . <br />
<br />
<script class="brush: ps" type="syntaxhighlighter">
<![CDATA[
<?xml version="1.0" encoding="utf-8" ?>
<Configuration version="1.0">
<Feature Name="NewMailbox" Cmdlets="New-Mailbox">
<ApiCall Name="Validate">
$RecipientType = [String]($readOnlyIConfigurable.RecipientTypeDetails)
$MBX = [String]($readOnlyIConfigurable.Identity)
</ApiCall>
<ApiCall Name="OnComplete">
If ($succeeded){
Start-Sleep 3
$DC = [string]($readOnlyIConfigurable.OriginatingServer)
If($RecipientType -eq "UserMailbox"){
#$MBX = $provisioningHandler.UserSpecifiedParameters["Name"]
Set-Mailbox -Identity $MBX -UseDatabaseQuotaDefaults $False -IssueWarningQuota "921MB" -ProhibitSendQuota "1GB" -ProhibitSendReceiveQuota "2GB" -RetentionPolicy "Bronson - Retention Policy (No Archive)" -DomainController $DC
Set-CasMailbox -Identity $MBX -ImapEnabled:$False -PopEnabled:$False -MAPIEnabled:$False -ActiveSyncEnabled:$False -OwaMailboxPolicy "Standard OWA Policy" -DomainController $DC
}
}
</ApiCall>
</Feature>
<Feature Name="EnableMailbox" Cmdlets="enable-mailbox">
<ApiCall Name="Validate">
$DC = [string]($readOnlyIConfigurable.OriginatingServer)
$RecipientType = [String]($readOnlyIConfigurable.RecipientTypeDetails)
$MBX = [String]($readOnlyIConfigurable.Identity)
</ApiCall>
<ApiCall Name="OnComplete">
If ($succeeded){
Start-Sleep 3
If($RecipientType -eq "UserMailbox"){
Set-Mailbox -Identity $MBX -UseDatabaseQuotaDefaults $False -IssueWarningQuota "921MB" -ProhibitSendQuota "1GB" -ProhibitSendReceiveQuota "2GB" -RetentionPolicy "Bronson - Retention Policy (No Archive)" -DomainController $DC
Set-CasMailbox -Identity $MBX -ImapEnabled:$False -PopEnabled:$False -MAPIEnabled:$False -ActiveSyncEnabled:$False -OwaMailboxPolicy "Standard OWA Policy" -DomainController $DC
}</code></pre>
<pre class="prettyprint linenums"> }
</ApiCall>
</Feature>
</Configuration>
]]></script><br />
<br />
<ul></ul>
IBAGEEKhttp://www.blogger.com/profile/15871435525728795312noreply@blogger.com0tag:blogger.com,1999:blog-4124772914177445358.post-55271290966293456492016-05-24T11:56:00.000-07:002016-05-24T11:56:01.400-07:00MSExchangeDiagnostics Crashing <br />
After running through one of my newly built Exchange 2016 CU1 Servers, I noticed I had a few errors within the event viewer as shown below.<br />
<br />
The description for Event ID 1007 from source MSExchangeDiagnostics cannot be found. Either the component that raises this event is not installed on your local computer or the installation is corrupted. You can install or repair the component on the local computer.<br />
<br />
If the event originated on another computer, the display information had to be saved with the event.<br />
<br />
The following information was included with the event: <br />
<br />
System.ArgumentException: Value does not fall within the expected range.<br />
at PlaLibrary.DataCollectorSetClass.start(Boolean Synchronous)<br />
at Microsoft.Exchange.Diagnostics.PerformanceLogger.PerformanceLogSet.StartLog(Boolean synchronous)<br />
at Microsoft.Exchange.Diagnostics.PerformanceLogger.PerformanceLogMonitor.CheckPerflogStatus()<br />
ExchangeDiagnosticsPerformanceLog<br />
<br />
The handle is invalid<br />
<br />
The description for Event ID 4999 from source MSExchange Common cannot be found. Either the component that raises this event is not installed on your local computer or the installation is corrupted. You can install or repair the component on the local computer.<br />
<br />
If the event originated on another computer, the display information had to be saved with the event.<br />
<br />
The following information was included with the event: <br />
<br />
35200<br />
E12IIS<br />
c-RTL-AMD64<br />
15.01.0396.030<br />
M.E.Diagnostics.Service<br />
M.E.Diagnostics.PerformanceLogger<br />
M.E.D.P.PerformanceLogSet.StartLog<br />
System.ArgumentException<br />
95c6<br />
15.01.0396.030<br />
False<br />
True<br />
Microsoft.Exchange.Diagnostics.Service<br />
<br />
The handle is invalid<br />
<br />
The description for Event ID 1039 from source MSExchangeDiagnostics cannot be found. Either the component that raises this event is not installed on your local computer or the installation is corrupted. You can install or repair the component on the local computer.<br />
<br />
If the event originated on another computer, the display information had to be saved with the event.<br />
<br />
The following information was included with the event: <br />
<br />
C:\<br />
<br />
Exception<br />
System.Management.ManagementException: Invalid namespace <br />
at System.Management.ManagementException.ThrowWithExtendedInfo(ManagementStatus errorCode)<br />
at System.Management.ManagementScope.InitializeGuts(Object o)<br />
at System.Management.ManagementScope.Initialize()<br />
at System.Management.ManagementObjectSearcher.Initialize()<br />
at System.Management.ManagementObjectSearcher.Get()<br />
at Microsoft.Exchange.Diagnostics.Service.DiagnosticsService.DriveLocked(String diagnosticsRootDrive)<br />
<br />
The handle is invalid<br />
<br />
Anil over at MSFT posted a very nice fix for Exchange 2013 when following the same procure for on my Exchange 2016 CU1 server successfully remedied the issue and the errors were resolved. If you are experiencing the same events , please check out this <a href="https://blogs.technet.microsoft.com/anya/2014/11/24/microsoft-exchange-diagnostics-service-crashing-with-the-event-4999-1007-and-7031-post-cu6-upgrade/">article </a>on how to resolve it. <br />
IBAGEEKhttp://www.blogger.com/profile/15871435525728795312noreply@blogger.com0tag:blogger.com,1999:blog-4124772914177445358.post-88091199673937152232016-05-23T14:03:00.001-07:002016-05-23T14:03:36.545-07:00Outlook Chaced Mode Email DelaySince Outlook 2010 I have been running in online mode to allow me to see "real-time" updates to AD Photos and GAL related items. so I was boggled when a coworker said that on occasion in outlook 2013 he would get new emails in batches. So I spun up a VM with 2013 at the same patch level as him and low and behold I noticed a delay from when the message hit my mailbox according to Outlook Web App & ActiveSync. Running Outlook 2016 on my primary client I to notice the issue when in cached mode. after digging through a very long TechNet thread, I found this <a href="http://www.expta.com/2010/10/how-to-configure-fast-cached-exchange.html">article </a>posted by Jeff Guillet over at his blog. his article provide some great insight as to how outlook behaves once it is notified of a new message when running in cached mode. <br />
<br />
while this change outlined by Jeff will have a slight performance hit to your Exchange environment it may be help deal with users who notice the delay. when I applied the changes I was not as aggressive and set the values to 10. <br />
<br />
Here is the registry Key for Outlook 2016<br />
<br />
[HKEY_CURRENT_USER\SOFTWARE\Policies\Microsoft\office\16.0\Outlook\Cached Mode]<br />
"Download"=dword:0000000a<br />
"Upload"=dword:0000000a<br />
"Maximum"=dword:0000000a<br />
<br />
<br />
hope this helps, till next time<br />
<br />
IBAGEEKhttp://www.blogger.com/profile/15871435525728795312noreply@blogger.com0tag:blogger.com,1999:blog-4124772914177445358.post-3293067527904712922016-01-18T20:11:00.001-08:002016-07-06T18:26:43.891-07:00Exchange 2010 to Exchange 2013 Mailbox Move BugOver the past few months I have been working to get our organization upgraded from Exchange 2010 to Exchange 2013. During one of more recent mailbox moves for some of our test users, we stumbled across an interesting issue with Exchange 2013 and Outlook once the mailbox migration was completed. <br />
<br />
<br />
<b>Scenario</b><br />
- Exchange 2010 Server SP3 RU 11 <br />
- Exchange 2013 Server CU10<br />
- Users Mailbox on Exchange 2010 has not only a mailbox but also an Exchange archive mailbox.<br />
- An online mailbox move of both the mailbox and archive is initiated to move the mailbox to Exchange 2013<br />
<br />
<b>Issue</b><br />
As the mailbox move is completing, the user get the obligatory "The Microsoft Exchange administrator has made a change that requires you to quit and restart Outlookâ . After the user restarts Outlook, everything looks fine until they try to access there archive mailbox. upon trying to access there archive they get an error "Cannot expand the folder. The set of folders cannot be opened. Microsoft Exchange is not available. Either there are network problems or the Exchange server is down for maintenance." This was puzzling as user could access there archive via Outlook Web App with out issue. now one of the odd things I noticed was that users were getting the notice to restart outlook prior to Exchange showing it was 100% done with the mailbox/archive move. <br />
<br />
<b>Fix</b><br />
So after some troubleshooting mainly on the client side, I opened a Premier Support Ticket with Microsoft. After describing my issue to the support specialist he suggested I move another user and reproduce the issue and then recycle the Autodiscover Application Pool. Much to my surprise, I was able to reproduce the issue again and upon recycling the Autodiscover Application pool, the user got yet another prompt to restart outlook. After that the user was able successfully access both there mailbox and archive mailbox. <br />
<br />
Premier support indicated to me that this is currently an active bug within Exchange 2013. <br />
<br />
to workaround this issue, I have created a little PowerShell script to recycle the Autodiscover ApplicationPool on all my Exchange 2013 servers.<br />
<br />
<br />
<script class="brush: ps" type="syntaxhighlighter">
<![CDATA[
$Servers=(Get-ExchangeServer | Where {$_.AdminDisplayVersion -Like "*15*"}).Name
ForEach ($Server in $Servers){
Invoke-command -computername $Server -scriptblock {import-module webadministration;Restart-WebAppPool -name MSExchangeAutodiscoverAppPool}
}
]]></script><br />
<br />
<br />
Hope this helps.IBAGEEKhttp://www.blogger.com/profile/15871435525728795312noreply@blogger.com3tag:blogger.com,1999:blog-4124772914177445358.post-90396956670516261712015-11-20T06:39:00.002-08:002015-11-20T06:53:45.144-08:00HTTP 400 Bad Request When Proxying a Different Version of ExchangeAs a part of an Exchange 2010 to 2013 Upgrade project I am working on I hit a sporadic issue of users not able to access Outlook or getting an "HTTP 400 Bad Request" Error after signing in to OWA. <br />
<br />
In the midst of doing some quick searching on the error as I knew it was user issue and found this <a href="https://support.microsoft.com/en-us/kb/2988444">article</a> from Microsoft about token bloat. <br />
<br />
I had found several other article about token bloat and some of the users having the issue had 100+ groups. I followed the guidance and added the follow Registry Keys on the Exchange 2010 Client Access Servers.<br />
<br />
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\HTTP\Parameters<br />
<br />
MaxRequestBytes DWORD 65536 (Decimal)<br />
<br />
MaxFieldLength DWORD 65536 (Decimal)<br />
<br />
Once added you will need to restart the sever for the changes to take effect.<br />
<br />
The above change will increase the header size to 65KB which is the max value<br />
<br />
I would recommend that if you are in a large enterprise environment or if your users are a part of a large number of groups that you set these values prior to swinging your namespace to the newer version of Exchange.<br />
<br />
IBAGEEKhttp://www.blogger.com/profile/15871435525728795312noreply@blogger.com0tag:blogger.com,1999:blog-4124772914177445358.post-85921002181912074972015-11-06T12:43:00.001-08:002015-11-06T12:43:12.473-08:00Exchange 2013 CU10 Application Event Warning 1310 Working through a fresh install of Exchange 2013 CU10 I noticed within my event viewer an application error with the source of ASP.NET 4.0.30319.0 and the event ID of 1310 after doing some looking I found thanks to Garry Cooper over at <a href="https://exchangeranger.wordpress.com/2015/06/12/exchange-2013-cu8-application-event-warning-1310-microsoft-exchange-security-assembly/">Exchange Masters</a> blog found that this looks to a little known installation bug. I as able to resolve by copying the C:\Program Files\Microsoft\Exchange Server\V15\ClientAccess\SharedWebConfig.config file from a good install to the other servers that were missing the file.<br />
<br />
IBAGEEKhttp://www.blogger.com/profile/15871435525728795312noreply@blogger.com0tag:blogger.com,1999:blog-4124772914177445358.post-85005383140266675942015-09-23T07:01:00.001-07:002016-07-06T18:37:52.342-07:00Shavlik Bulliten ID to QNumbersRecently I have started to help with our monthly patching at our organization. Being a healthcare facility we have a few applications in which we are only allowed to deploy specific patches to those servers. To help speed up the process of preparing patch groups and patch scans within Savlik Protect, I have created a PowerShell Script to take a list of Bulletin IDs (MS15-001) and export a list of associated QNumbers which can then be used to import into shavlik when creating a patch scans. I hope to create a future script to allow bulk updating of an existing patch group with a list of known patches.<br />
<script type="syntaxhighlighter"; class="brush: ps";>
<![CDATA[
#Shavlik Protect BulletinID to QNumbers to be used with patch scans.
#there are times that vendors request that only specific patches be applied to servers or desktops.
#Unfortunitly, Shavlik does not have a quick easy way to build a patch group based of of Bulliten IDs only QNumbers.
#This tool will take a CSV of Bulletin IDs and export a text file of matching QNumbers.
#Matt Karel 2015
#Configure SQL Data Source
#$DataSource = Server hosting SQL DB
#$User = UserID needed to login to Database
#$pwd = Password needed to login to Database
#$Database= Shavlik Database
#Note: If you are using windows authentication to access the database, you do not need to specify a Username or password. if you are using SQL authentication you will need to specify a username and password. You will also need to set the Integrated Security=True to =False
$dataSource = ""
$user = ""
$pwd = ""
$database = "Protect"
$CSV = Import-csv "E:\BullitenList.CSV" -Header BullitenID
$QNumbers = $null
ForEach($BulletinID in $CSV){
$BulletinID=$BulletinID.BullitenID
$query="SELECT patchQNumbers,patchBulletinID FROM Patches where patchBulletinID = '$BulletinID'"
$ConnString = "Server=$dataSource;uid=$user; pwd=$pwd;Database=$database;Integrated Security=True;"
$connection = New-Object System.Data.SqlClient.SqlConnection
$connection.ConnectionString = $ConnString
$SQLCmd = New-Object System.Data.SqlClient.SqlCommand
$SQLCmd.CommandText = $query
$SQLCmd.Connection = $connection
$DataAdapter = new-object System.Data.SqlClient.SqlDataAdapter $SQLCmd
$DataSet = new-object System.Data.Dataset
$DataAdapter.Fill($dataset) | Out-Null
Foreach ($DataRow in $DataSet.Tables[0].Rows.patchQNumbers){
$QNumbers += @($Datarow)
}
}
$QNumbers | Select-Object -Unique | add-content -Path "E:\QNumbers.txt"
]]></Script><br />
IBAGEEKhttp://www.blogger.com/profile/15871435525728795312noreply@blogger.com0tag:blogger.com,1999:blog-4124772914177445358.post-40135694905184219212014-09-05T13:24:00.002-07:002014-10-02T06:31:54.875-07:00Cisco 7861 Speed Dial TemplateHere is a nice speed dial template I created for the Cisco 7861 Phone. This template is a directory style mail merge to allow your excel sheet to have one row for each phone you need a line card printed for. One page will have 6 line cards when the merge is finished. <br />
<br />
Here is a link to download the file. <a href="https://drive.google.com/file/d/0B7CtnIyPaKZ9OW5Gd3lOQ3JROFE/edit?usp=sharing">Download Template</a><br />
<br />
Enjoy!IBAGEEKhttp://www.blogger.com/profile/15871435525728795312noreply@blogger.com1tag:blogger.com,1999:blog-4124772914177445358.post-31715695800412395222014-07-25T10:15:00.002-07:002014-09-26T06:27:18.234-07:00Removing Old Exchange Mailboxs From Outlooks Folder ViewRecently I had an issue where some old Exchange Mailboxes that I had full access to had been deactivated or I had removed my full access permissions, but they were not being removed from my folder view in outlook. I found that to resolve the issue if I went to the properties of the account that was still appearing in my navigation pane using ADSI Edit or doing a Get-ADuser -Identity <userid> -Properties MsExchDelegateListLink <br />
the output would show my account still listed as a delegate. to remove my account and any other account in that property I did a set-aduser -Identity <userid> -Clear MsExchDelegateListLink <br />
<br />
Closed and re-opened Outlook and a few minutes later the accounts were removed from my folder view. <br />
<br />
Thanks to this Blog post for pointing me in the correct direction <br />
http://social.technet.microsoft.com/Forums/office/en-US/87637d40-3801-4282-9df1-e519759aee07/cannot-remove-additional-mailboxIBAGEEKhttp://www.blogger.com/profile/15871435525728795312noreply@blogger.com1tag:blogger.com,1999:blog-4124772914177445358.post-52942687454523841182014-05-27T14:02:00.001-07:002014-05-27T14:02:26.391-07:00On Prem Cisco WebEx SSL CertsRecently I was asked to help get our wildcard SSL Cert installed on our WebEx box. During the install the deployment team found that they would receive an error that the "certificate does not form a valid chain". a quick search found this nice little article on how WebEx expects the cert to be prepared for import.<br />
<br />
How to: <a href="http://ril3y.wordpress.com/2014/01/22/ssl-with-intermediate-certificates-for-on-premise-webex/">http://ril3y.wordpress.com/2014/01/22/ssl-with-intermediate-certificates-for-on-premise-webex/</a><br />
<br />
following the instructions from the above site I created a PEM file that had all the certificate info and we were able to successfully import the cert. <br />
<br />
using open SSL to Extract Private Key and Public Key from a PFX<br />
<a href="http://anuchandy.blogspot.com/2012/04/extracting-public-certificate-and.html">http://anuchandy.blogspot.com/2012/04/extracting-public-certificate-and.html </a>IBAGEEKhttp://www.blogger.com/profile/15871435525728795312noreply@blogger.com0tag:blogger.com,1999:blog-4124772914177445358.post-53719283468092618472014-03-05T20:48:00.000-08:002014-03-05T21:09:13.145-08:00Copy Group Membership from one Domain to AnotherAs a part of my job as a systems engineer I have the opportunity to work on a couple of acquisitions. During the integration process we found a need to copy the AD security groups used to control access to shares for shared data. Here is a little PowerShell script that I wrote that uses a CSV to map each user between the two domains. <br />
<br />
Prerequisites<br />
-A CSV mapping the usernames of each user from the source domain to the userid in the destination domain. headers for CSV (SrcDomain-UserName,DestDomain-UserName)<br />
-Read access in the source domain<br />
-Read/Modify rights in the destination domain<br />
-A matching group on in the destination. (Group A in the source is named Group A in the destination)<br />
<br />
<br />
<pre class="prettyprint linenums" >#Copies group membership of groups from one domain to another.
# It uses a CSV to map users between the 2 domains.
# ChangeLog
# 3/3/14-Added logging process for users who might already be in the destination group.
Import-Module ActiveDirectory
$SourceGrps=@()
$DestGrps=@()
$NewuserInfo=@()
$Compare=@()
$RemoteDomainCredential=Get-Credential "username@domainname"
$RemoteDomain="Something.org" #DomainNmae of the Source domain
$LogFile=""
$Csv=Import-Csv -Path "UserMap.csv"
$SourceGrps=Get-ADGroup -Filter * -SearchBase "OU=Groups,DC=Something,DC=org" -Server $RemoteDomain -credential $RemoteDomainCredential |Sort{ $_.Name.Substring(1)}
$DestGrps=Get-ADGroup -Filter * -SearchBase "OU=Groups,DC=newdomain,DC=org" |Sort{ $_.Name.Substring(1)}
$Compare=Compare-Object -ReferenceObject($SourceGrps) -DifferenceObject($DestGrps) -PassThru -Property Name
#$Compare the groups in the source and destination domain. ensuring only groups that exist in both domains are copied
ForEach ($Commparison in $Compare){
Write-Host $Commparison.sideIndicator
$Temp=$Commparison.Name
if ($Commparison.sideIndicator -eq "=>"){
Add-Content -Path $LogFile "$Temp Was Found in the Destination but not In the Source"
}ElseIf ($Commparison.sideIndicator -eq "<="){
Add-Content -Path $LogFile "$Temp Was Found in the Source but not In the Destination"
$SourceGrps.remove($temp)
}
}
foreach($Group In $SourceGrps){
$NewuserInfo=@()
$SourceGroup=$Group.Name
$GrpUsers=Get-ADGroupMember -Identity $Group -Server $RemoteDomain -credential $RemoteDomainCredential
Write-Host $Group.Name
Write-host $GrpUsers.count
if ($GrpUsers.Count -eq $Null) {
Add-Content -Path $LogFile "$SourceGroup,,Source Group, Group is Empty"
}Else{
foreach($User in $GrpUsers){
$SourceUser=$User.Name
#Add logic for no results log
$Result = $CSV | Where{$User.SamAccountName -eq $_.SrcDomain-UserName}
if ($Result -ne $null){
$NewuserInfo += $Result
}Else{
Add-Content -Path $LogFile "$SourceGroup,$SourceUser,Source Group, User not found in CSV (Failure)"
sleep 1
}
}
$User=$null
Foreach($User in $NewuserInfo){
$DestUserName=$user.DestDomain-UserName
$DestGroupName=$Group.Name
Try{
#writing Group Members in destination Group
Add-ADGroupMember -Identity $DestGroupName -Members $DestUserName
Add-Content -Path $LogFile "$DestGroupName,$DestUserName,User Added to Group (Success)"
sleep 1
}
catch [Microsoft.ActiveDirectory.Management.ADException]{
if ($_.psbase.Exception.ErrorCode -eq 1378){ #Get Errorcode from $Error[0]
Add-Content -Path $LogFile "$DestGroupName,$DestUserName,User Already in Group"
sleep 1
}else{
throw
}
}
}
}
}
</pre>
IBAGEEKhttp://www.blogger.com/profile/15871435525728795312noreply@blogger.com0tag:blogger.com,1999:blog-4124772914177445358.post-24677080923374228902013-12-23T12:11:00.002-08:002016-07-06T18:39:38.624-07:00Copy AD Group members from one group to anotherHere is how using Powershell you can copy the members of an Active Directory group from one group to another.<br />
<br />
<script type="syntaxhighlighter"; class="brush: ps";>
<![CDATA[
Import-Module ActiveDirectory
$GrpMembers=Get-ADGroupMember -Identity "Source Group Name"
Add-ADGroupMember -Identity "Destination Group Name" -Members $GrpMembers
]]></script><br />
<br />
That is all.IBAGEEKhttp://www.blogger.com/profile/15871435525728795312noreply@blogger.com0tag:blogger.com,1999:blog-4124772914177445358.post-23157991894771346952012-11-21T14:27:00.001-08:002016-07-06T18:41:48.540-07:00PowerShell Script to Search Distribution List Members MailboxesHere is a powershell script to search the mailboxes of a specified distribution list. I would run it from the Exchange Management Shell so you have access to all the Exchange cmdlets. <br />
<br />
<script type="syntaxhighlighter"; class="brush: ps";>
<![CDATA[
Import-Module ActiveDirectory
$DistributionGrp="<GroupName>"
$GroupMembers=Get-ADGroupMember -Identity "$DistributionGrp" | foreach {$_.samaccountname}
ForEach($Member in $GroupMembers){
Search-Mailbox -Identity "$Member" -SearchQuery 'Subject:"<i>*subject*</i>"' -TargetMailbox DiscoveryMailbox -TargetFolder "<i>folderName</i>" -LogLevel full
}
#If you want to delete the message from every ones mailbox.
Import-Module ActiveDirectory
$DistributionGrp="<GroupName>"
$GroupMembers=Get-ADGroupMember -Identity "$DistributionGrp" | foreach {$_.samaccountname}
ForEach($Member in $GroupMembers){
Search-Mailbox -Identity "$Member" -SearchQuery 'Subject:"Update on Performance Appraisal process"' -DeleteContent -Force
}
]]></script><br />
<br />
Link to Search-Malbox Cmdlet documentation<br />
http://technet.microsoft.com/en-us/library/dd298173(v=exchg.141).aspx<br />
<br />
<b>Exchange Search keywords</b><br />
<br />
<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 552px;"><colgroup><col style="mso-width-alt: 5156; mso-width-source: userset; width: 106pt;" width="141"></col><col style="mso-width-alt: 8009; mso-width-source: userset; width: 164pt;" width="219"></col><col style="mso-width-alt: 7021; mso-width-source: userset; width: 144pt;" width="192"></col></colgroup><tbody>
<tr height="21" style="height: 15.75pt;"><td class="xl78" height="21" style="background-color: transparent; border-bottom: #dddddd 1pt solid; border-left: #dddddd 1pt solid; border-right: #f0f0f0; border-top: #dddddd 1pt solid; height: 15.75pt; width: 106pt;" width="141"><b><span style="font-family: Calibri;">Property<span style="mso-spacerun: yes;"> </span></span></b></td><td class="xl79" style="background-color: transparent; border-bottom: #dddddd 1pt solid; border-left: #f0f0f0; border-right: #f0f0f0; border-top: #dddddd 1pt solid; width: 164pt;" width="219"><b><span style="font-family: Calibri;">Example<span style="mso-spacerun: yes;"> </span></span></b></td><td class="xl80" style="background-color: transparent; border-bottom: #dddddd 1pt solid; border-left: #f0f0f0; border-right: #dddddd 1pt solid; border-top: #dddddd 1pt solid; width: 144pt;" width="192"><b><span style="font-family: Calibri;">Search results<span style="mso-spacerun: yes;"> </span></span></b></td></tr>
<tr height="161" style="height: 120.75pt;"><td class="xl67" height="161" style="background-color: transparent; border-bottom: #dddddd 1pt solid; border-left: #dddddd 1pt solid; border-right: #f0f0f0; border-top: #f0f0f0; height: 120.75pt; width: 106pt;" width="141"><span style="font-family: Calibri;">Attachments</span></td><td class="xl68" style="background-color: transparent; border-bottom: #dddddd 1pt solid; border-left: #f0f0f0; border-right: #f0f0f0; border-top: #f0f0f0; width: 164pt;" width="219"><span style="font-family: Calibri;">attachment:annualreport.pptx</span></td><td class="xl69" style="background-color: transparent; border-bottom: #dddddd 1pt solid; border-left: #f0f0f0; border-right: #dddddd 1pt solid; border-top: #f0f0f0; width: 144pt;" width="192"><span style="font-family: Calibri;">Messages that have an attachment named annualreport.pptx. The use of attachment:annualreport or attachment:annual* returns the same results as using the full name of the attachment.</span></td></tr>
<tr height="20" style="height: 15pt;"><td class="xl72" height="61" rowspan="3" style="background-color: transparent; border-bottom: #dddddd 1pt solid; border-left: #dddddd 1pt solid; border-right: #f0f0f0; border-top: #dddddd; height: 45.75pt; width: 106pt;" width="141"><span style="font-family: Calibri;">Cc</span></td><td class="xl73" style="background-color: transparent; border-bottom: #f0f0f0; border-left: #f0f0f0; border-right: #f0f0f0; border-top: #dddddd; width: 164pt;" width="219"><span style="font-family: Calibri;">cc:paul shen</span></td><td class="xl74" rowspan="3" style="background-color: transparent; border-bottom: #dddddd 1pt solid; border-left: #f0f0f0; border-right: #dddddd 1pt solid; border-top: #dddddd; width: 144pt;" width="192"><span style="font-family: Calibri;">Messages with Paul Shen in the Cc field.</span></td></tr>
<tr height="20" style="height: 15pt;"><td class="xl70" height="20" style="background-color: transparent; border-bottom: #f0f0f0; border-left: #f0f0f0; border-right: #f0f0f0; border-top: #f0f0f0; height: 15pt; width: 164pt;" width="219"><span style="font-family: Calibri;">cc:pauls</span></td></tr>
<tr height="21" style="height: 15.75pt;"><td class="xl68" height="21" style="background-color: transparent; border-bottom: #dddddd 1pt solid; border-left: #f0f0f0; border-right: #f0f0f0; border-top: #f0f0f0; height: 15.75pt; width: 164pt;" width="219"><span style="font-family: Calibri;">cc:pauls@contoso.com</span></td></tr>
<tr height="20" style="height: 15pt;"><td class="xl72" height="61" rowspan="3" style="background-color: transparent; border-bottom: #dddddd 1pt solid; border-left: #dddddd 1pt solid; border-right: #f0f0f0; border-top: #dddddd; height: 45.75pt; width: 106pt;" width="141"><span style="font-family: Calibri;">From</span></td><td class="xl73" style="background-color: transparent; border-bottom: #f0f0f0; border-left: #f0f0f0; border-right: #f0f0f0; border-top: #dddddd; width: 164pt;" width="219"><span style="font-family: Calibri;">from:bharat suneja</span></td><td class="xl74" rowspan="3" style="background-color: transparent; border-bottom: #dddddd 1pt solid; border-left: #f0f0f0; border-right: #dddddd 1pt solid; border-top: #dddddd; width: 144pt;" width="192"><span style="font-family: Calibri;">Messages sent by Bharat Suneja.</span></td></tr>
<tr height="20" style="height: 15pt;"><td class="xl70" height="20" style="background-color: transparent; border-bottom: #f0f0f0; border-left: #f0f0f0; border-right: #f0f0f0; border-top: #f0f0f0; height: 15pt; width: 164pt;" width="219"><span style="font-family: Calibri;">from:bsuneja</span></td></tr>
<tr height="21" style="height: 15.75pt;"><td class="xl68" height="21" style="background-color: transparent; border-bottom: #dddddd 1pt solid; border-left: #f0f0f0; border-right: #f0f0f0; border-top: #f0f0f0; height: 15.75pt; width: 164pt;" width="219"><span style="font-family: Calibri;">from:bsuneja@contoso.com</span></td></tr>
<tr height="61" style="height: 45.75pt;"><td class="xl75" height="61" style="background-color: transparent; border-bottom: #dddddd 1pt solid; border-left: #dddddd 1pt solid; border-right: #f0f0f0; border-top: #dddddd; height: 45.75pt; width: 106pt;" width="141"><span style="font-family: Calibri;">Keywords in retention policy</span></td><td class="xl76" style="background-color: transparent; border-bottom: #dddddd 1pt solid; border-left: #f0f0f0; border-right: #f0f0f0; border-top: #dddddd; width: 164pt;" width="219"><span style="font-family: Calibri;">retentionpolicy:business critical</span></td><td class="xl77" style="background-color: transparent; border-bottom: #dddddd 1pt solid; border-left: #f0f0f0; border-right: #dddddd 1pt solid; border-top: #dddddd; width: 144pt;" width="192"><span style="font-family: Calibri;">Messages that have the Business Critical retention tag applied.</span></td></tr>
<tr height="61" style="height: 45.75pt;"><td class="xl75" height="61" style="background-color: transparent; border-bottom: #dddddd 1pt solid; border-left: #dddddd 1pt solid; border-right: #f0f0f0; border-top: #dddddd; height: 45.75pt; width: 106pt;" width="141"><span style="font-family: Calibri;">Date when messages expire according to policy</span></td><td class="xl76" style="background-color: transparent; border-bottom: #dddddd 1pt solid; border-left: #f0f0f0; border-right: #f0f0f0; border-top: #dddddd; width: 164pt;" width="219"><span style="font-family: Calibri;">expires:4/1/2010</span></td><td class="xl77" style="background-color: transparent; border-bottom: #dddddd 1pt solid; border-left: #f0f0f0; border-right: #dddddd 1pt solid; border-top: #dddddd; width: 144pt;" width="192"><span style="font-family: Calibri;">Messages that expire on April 1, 2010.</span></td></tr>
<tr height="21" style="height: 15.75pt;"><td class="xl75" height="21" style="background-color: transparent; border-bottom: #dddddd 1pt solid; border-left: #dddddd 1pt solid; border-right: #f0f0f0; border-top: #dddddd; height: 15.75pt; width: 106pt;" width="141"><span style="font-family: Calibri;">Sent</span></td><td class="xl76" style="background-color: transparent; border-bottom: #dddddd 1pt solid; border-left: #f0f0f0; border-right: #f0f0f0; border-top: #dddddd; width: 164pt;" width="219"><span style="font-family: Calibri;">sent:yesterday</span></td><td class="xl77" style="background-color: transparent; border-bottom: #dddddd 1pt solid; border-left: #f0f0f0; border-right: #dddddd 1pt solid; border-top: #dddddd; width: 144pt;" width="192"><span style="font-family: Calibri;">All messages sent yesterday.</span></td></tr>
<tr height="61" style="height: 45.75pt;"><td class="xl75" height="61" style="background-color: transparent; border-bottom: #dddddd 1pt solid; border-left: #dddddd 1pt solid; border-right: #f0f0f0; border-top: #dddddd; height: 45.75pt; width: 106pt;" width="141"><span style="font-family: Calibri;">Subject</span></td><td class="xl76" style="background-color: transparent; border-bottom: #dddddd 1pt solid; border-left: #f0f0f0; border-right: #f0f0f0; border-top: #dddddd; width: 164pt;" width="219"><span style="font-family: Calibri;">Subject:"patent filing"</span></td><td class="xl77" style="background-color: transparent; border-bottom: #dddddd 1pt solid; border-left: #f0f0f0; border-right: #dddddd 1pt solid; border-top: #dddddd; width: 144pt;" width="192"><span style="font-family: Calibri;">All messages where the phrase "patent filing" appears in the Subject field.<span style="mso-spacerun: yes;"> </span></span></td></tr>
<tr height="20" style="height: 15pt;"><td class="xl72" height="61" rowspan="3" style="background-color: transparent; border-bottom: #dddddd 1pt solid; border-left: #dddddd 1pt solid; border-right: #f0f0f0; border-top: #dddddd; height: 45.75pt; width: 106pt;" width="141"><span style="font-family: Calibri;">To</span></td><td class="xl73" style="background-color: transparent; border-bottom: #f0f0f0; border-left: #f0f0f0; border-right: #f0f0f0; border-top: #dddddd; width: 164pt;" width="219"><span style="font-family: Calibri;">to:"ben smith"</span></td><td class="xl74" rowspan="3" style="background-color: transparent; border-bottom: #dddddd 1pt solid; border-left: #f0f0f0; border-right: #dddddd 1pt solid; border-top: #dddddd; width: 144pt;" width="192"><span style="font-family: Calibri;">Messages that have Ben Smith in the To field.</span></td></tr>
<tr height="20" style="height: 15pt;"><td class="xl70" height="20" style="background-color: transparent; border-bottom: #f0f0f0; border-left: #f0f0f0; border-right: #f0f0f0; border-top: #f0f0f0; height: 15pt; width: 164pt;" width="219"><span style="font-family: Calibri;">to:bsmith</span></td></tr>
<tr height="21" style="height: 15.75pt;"><td class="xl68" height="21" style="background-color: transparent; border-bottom: #dddddd 1pt solid; border-left: #f0f0f0; border-right: #f0f0f0; border-top: #f0f0f0; height: 15.75pt; width: 164pt;" width="219"><span style="font-family: Calibri;">to:besmith@contoso.com</span></td></tr>
</tbody></table><br />
AQS: http://technet.microsoft.com/en-us/library/bb232132.aspx#IBAGEEKhttp://www.blogger.com/profile/15871435525728795312noreply@blogger.com0tag:blogger.com,1999:blog-4124772914177445358.post-23567266879776642812012-11-08T10:57:00.000-08:002012-11-08T11:08:29.378-08:00Disable USB Power SaveNeed to disable USB Power Save? <br />
<br />
<a href="http://1.bp.blogspot.com/-LHAwDkPKK68/UJv9u5rQf6I/AAAAAAAAAqQ/DgSmks53eT4/s1600/Blogger%2BThoughts%2Bfrom%2Ba%2BDesktop%2BEngineer%2B-%2BCreate%2Bpost%2B-%2BWindows%2BInternet%2BExplo_2012-11-08_13-44-10.png" imageanchor="1" style=""><img border="0" height="320" width="289" src="http://1.bp.blogspot.com/-LHAwDkPKK68/UJv9u5rQf6I/AAAAAAAAAqQ/DgSmks53eT4/s320/Blogger%2BThoughts%2Bfrom%2Ba%2BDesktop%2BEngineer%2B-%2BCreate%2Bpost%2B-%2BWindows%2BInternet%2BExplo_2012-11-08_13-44-10.png" /></a><br />
<br />
Well here is a registry setting that will disable the ability for the computer to turn off the device to save power.<br />
<br />
[HKLM\System\CurrentControlSet\Services\USB]<br />
DisableSelectiveSuspend=1IBAGEEKhttp://www.blogger.com/profile/15871435525728795312noreply@blogger.com0tag:blogger.com,1999:blog-4124772914177445358.post-79971491330559322732012-11-07T12:52:00.001-08:002012-11-07T13:11:21.978-08:00Add or remove Common Desktop Items<br />
<br />
Here are the registry locations and Guids for hiding common Microsoft Windows Desktop Items:<br />
All the Entries are Dwords a value of 1 hides the item a value of 0 showes it.<br />
<br />
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\<br />
HideDesktopIcons\ClassicStartMenu]<br />
<br />
Computer = {20D04FE0-3AEA-1069-A2D8-08002B30309D}<br />
Personal folder = {59031a47-3f72-44a7-89c5-5595fe6b30ee}<br />
Control Panel = {5399E694-6CE5-4D6C-8FCE-1D8870FDCBA0}<br />
NetWork = {F02C1A0D-BE21-4350-88B0-7367FC96EF3C}<br />
Recycle Bin = {645FF040-5081-101B-9F08-00AA002F954E}<br />
Libraries = {031E4825-7B94-4dc3-B131-E946B44C8DD5}<br />
<br />
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\<br />
HideDesktopIcons\NewStartPanel]<br />
<br />
Computer = {20D04FE0-3AEA-1069-A2D8-08002B30309D}<br />
Personal folder = {59031a47-3f72-44a7-89c5-5595fe6b30ee}<br />
Control Panel = {5399E694-6CE5-4D6C-8FCE-1D8870FDCBA0}<br />
NetWork = {F02C1A0D-BE21-4350-88B0-7367FC96EF3C}<br />
Recycle Bin = {645FF040-5081-101B-9F08-00AA002F954E}<br />
Libraries = {031E4825-7B94-4dc3-B131-E946B44C8DD5}<br />
<br />
While there are no builtin GPO's to control these folders you can use GroupPolicy Preferences to minipulate. <br />
<br />
Thanks to Henny Louwers over at <a href="http://hlouwers.wordpress.com/2010/07/24/show-hide-desktop-items-windows-2008-r2-windows-7-by-means-of-registry-and-microsoft-group-policy-preferences/">http://hlouwers.wordpress.com/2010/07/24/show-hide-desktop-items-windows-2008-r2-windows-7-by-means-of-registry-and-microsoft-group-policy-preferences/</a> for the CLSID and Registry paths.<br />
<br />
You can find a full list of CLSID's for windows 7 here <a href="http://www.sevenforums.com/tutorials/110919-clsid-key-list-windows-7-a.html">http://www.sevenforums.com/tutorials/110919-clsid-key-list-windows-7-a.html</a>IBAGEEKhttp://www.blogger.com/profile/15871435525728795312noreply@blogger.com0