

I am always interested in hearing about other ways that others might have used to grab this data as well. There may have been better ways to accomplish the same goal, but I found this way to do exactly what I wanted to in a short amount of time. I wouldnt accept it if I was development manager/tester.

You can of course pipe this into Export-CSV if you want so you have a nice spreadsheet to view. Also the cached mode in Outlook 2013 is not seamless you get a link search more on server or get more items. 🙂 So with that, you can easily run this against your enterprise and have the data you need. Much nicer than a sequential run through all systems. $SIDs = $rootkey.GetSubKeyNames() | Where " -f $Computer,$_.Exception.Message)Īs I mentioned before, since I elected to use runspaces again, I was able to run through around 4000+ systems in a couple hours. Check to turn Cached Exchange Mode on, select the time frame you would like to have cached, and then Next/Finish out of this dialog box. Go to the E-mail tab, then select Change. $rootkey = ::OpenRemoteBaseKey("Users",$computer) Within Outlook, go to File > Account Settings > Account Settings. With that now decided, I had to figure out the best way to accomplish this goal.īecause this would be used to query some 4000+ systems, I decided to use runspaces again to handle several jobs at a given time to greatly speed up the query.īecause I am querying the registry remotely on the HKEY_Users key, I need something that can translate the SIDs to a friendly username that can be read. In this case, I went with the workstation registry query because I wasn’t confident that the logs would have as many users as the workstations would. HKEY_Users\Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles\\003601.Query all of the workstations in the domain for a specific registry value.Parse all of the logs under %ExchangeInstallDir%Logging\RPC Client Access.There was, in fact, 2 other ways that I found that I could pull this information even though it had the risk of not being quite as accurate as querying the server directly. With this being an issue, I had to find another way to accomplish task. Unfortunately, this wasn’t the case as every client came back with ‘ExchangeServer’, thus putting the results at risk. The ClientMode property is supposed to show you whether the client is running in ExchangeServer (non-cached), or in CachedMode. Get-Mailbox -ResultSize Unlimited | Get-LogonStatistics | Select Name, ClientName, ClientMode
