Wednesday, October 19, 2011

frank xmas book ideas

Other great books, classics they should enjoy:

  • Watership Down by Richard Adams
  • I Am the Messenger by Markus Zusak
  • Treasure Island by Robert Louis Stevenson
  • The Catcher in the Rye by J.D. Salinger
  • The Outsiders by S.E. Hinton
  • Lord of the Flies by William Golding
David Summers

Tuesday, August 2, 2011

Deploying VM(s) with Powershell Script

I've been working on this for a while and currently use this to deploy VM(s) in batches for my environment.

It takes the parameters from a CSV file and deploys the standard OS VM(s) template to new VM(s). All you need to do is add any data/application drives. It isn't perfect, but I'm still working on it.

Things I want to add:
  • add any data/application drives
  • a method for deploying to appropriate datastore without checking GUI myself
  • check if dynamic virtual port group has enough free ports, adding one as needed
  • script more of the overall post VM deployment steps for my environment

Wednesday, November 10, 2010

Windows 2008 VM console freezes

I found a great atricle for changing the video driver on Windows 2008 or 2008 R2 VMs from the default VMwate SVGA to a WDDM version from VMware. It seems to have resolved my issues with several of my VMs.

Check it out:

Thursday, November 4, 2010

Found a great article about using the Server License Manager Script, slmgr.vbs. This is the command line method for activating and installing license keys on windows 2008 and windows 7 machines.

I needed a way to do the activation of a Windows 2008 server from a command prompt after deploying a new VM. My answer was simple, use slmgr.vbs to kick off the activation as part of the VM's customization specification. I added "slmgr.vbs /ato" to the command to run after setup and now all the 2008R2 VMs deployed from templates using that OS customization spec are working fine. I don't have to go back and activate them manually.

Check out the larger article to see some of the other great info you can pull with this.

Saturday, September 4, 2010

Unblocking Windows Update

If you've ever gotten the error below when you go to Windows Update on a machine or Windows Update is completely missing from the Tools menu in Internet Explorer, it's fortunately an easy registry change to temporarily back out.

Network policy settings prevent you from using this website to get updates for your computer.

If you believe you have received this message in error, please contact your system administrator. Read more about steps you can take to resolve this problem (error number 0x8DDD0003) yourself.

This is generally set as a group policy setting and thus will get refreshed, but, you can delete the registry value below and restart your browser and Windows Update will work again at least temporarily.

Key - HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer
Value Name - NoWindowsUpdate

I'm of course not recommending that you circumvent your organization's policies, but, since I periodically need this setting and I usually forget it, I've put it here for the permanent record.

Friday, August 27, 2010

Who's using that email address?

At work, we sometimes need to find out which account is using an email address. Now this may sound simple to find by just doing a query of all the primary email addresses of all the users. The issue in our environment, and I'd wager yours as well, is that users and groups never seem to only have just one email address. They've either been with the company long enough for us to have changed the "Standard" from to, or maybe they got married/divorced/both. Any way I look at it, most of my users have more than one email address because they don't want to give up the old one because their existing contact know/use it.

So we give them additional email addresses, but at some point we have an issue that requires us to find out who's using that email address.

If you use powershell with the exchange plugins, it's an easy search to find the account/group using a secondary address.

Try this:

get-mailbox -resultsize unlimited where { $_.emailaddresses -like "" }

Just substitute the address you need to find in the like section. Be sure to leave the smtp: or it wont find it.

Happy searching.

Monday, July 12, 2010

Checking & Setting Permissions for Exchange 2007 mailboxes

I needed to backup all the mailboxes on an Exchange 2007 server. The backup agents we use allow this to be done at the mailstore level, but the brick level backup takes too long to complete. We have been doing exmerge nightly exports for as long as I can remember, then backing up those to the normal backup system. We can then restore a user's mail for the week without going to tape/backup system, and we don't have to restore more than a 2gb mailbox.

I found myself in need of setting up a service account with permissions needed to run export-mailbox and/or exmerge for mailboxes on a new Exchange 2007 server. This is what I came up with.

I'll start with the commands for checking permissions:

Get-MailboxDatabase -server "exserver1" | get-adpermission -user "service.account" | fl

On the Technet site the question was asked and this is the thread and a portion of the response.

To get full access right on all mailboxes in a database, we can grant "Receive As" permission to the user or group with cmd-let "Add-ADPermission". Please simply run command as the steps below:

1. Logon Exchange server and load Exchange management Shell.
2. Remove Deny permission with command
3. Run following command to grant the permission

• Grant permission on a single mailbox store

Get-MailboxDatabase "" | Add-ADPermission -User "" -ExtendedRights Receive-As

• Grant permission on all mailbox stores on a server
Get-MailboxDatabase -server "" | Add-ADPermission -User "" -ExtendedRights Receive-As

Please note that the permission granted with the command above can't be taken effect until the cache on information store refreshes. By default the refresh interval is two hours, or we can force refreshing the cache by restarting Exchange Information Store service. To do so, please:

1. Load Service snap-in by run services.msc.
2. Locate entry Microsoft Exchange Information Store, right click it and select Restart.


for one store:

Get-MailboxDatabase "Cluster01\UserStore1\UserStore1" | Add-ADPermission -User "domain\service.account" -ExtendedRights Receive-As

or for all the stores on a server:

Get-MailboxDatabase -server Cluster01 | Add-ADPermission -User "service.account" -ExtendedRights Receive-As

Be sure to run the get-adpermission command before and after to verify the permissions are adjusted.

I'm sure this isn't as complete as I'd like, but I hope it helps somebody.