Personal website of Steven Peck. Focusing on Microsoft technologies (most notably PowerShell), and other random bits I think to write.

Getting a new Windows computer ready

I've been following this basic outline for years for my family and friends support rules but while setting up a new system for my wife's friend it occurred to me I didn't have it documented for reference. Note: This is for non domain home or small business systems.

  • Check the box/packaging for issues
  • Inventory contents (this is mainly to prevent doing work before discovering something missing)
  • Plug it in and turn it on
  • When creating the first account, create the first as a local admin account
  • Connect to the network and Windows update until done. I install most optional updates and always upgrade to the latest version of IE. Also set for automatic updating.
  • Create recovery disk (I use USB flash now)
  • Anti-virus is built into Windows 8, if it's Windows 7 install Microsoft Security Essentials. If the OEM vender added some 'demo' AV I remove that completely and make sure MSE/Defender is working
  • For Windows 8 I tend to favor Microsoft accounts since the vast majority of people have them already and for the SkyDrive integration sync, etcetera so I add the users as regular accounts. One for everyone that is going to use them. I do not like 'shared accounts'
  • Have the user log in, give them a brief overview tutorial.
  • Add a favorite link to the Microsoft How To site and have them click on it.
  • Have the user install printers (usually with the Windows Update option)
  • People often appreciate a little bit of pretty, so I add a bunch of random themes and see which appeals and show them how to change it
  • Get them registered with their hardware OEM so they can get warrantee and vender specific updates automatically
  • Filter the miscellaneous paperwork/docs to essentials (rarely anything) into a envelope, add the USB recovery drive and the local admin account password and seal it for their records (if it's a desktop I generally put this inside the PC case
  • Install any applications the user needs. One I used to install was Adobe Reader but that's built into Windows 8 now so I tend to just leave that one as default

RDP client settings and Windows2012

Windows 2012 is pretty neat. It also obviously has a reliance on Server Manager and PowerShell, however there will be times when connecting via RDP will be required. How corners in Windows 8/2012 are a little small and while this is addressed in r2 keyboard support (aka Windows keyboard short cuts) works great.

If you are like me, you don't use full screen on your RDP sessions so one little change in your client really helps out. On the Local Resources tab, set it from the default of 'Only when using the full screen' to 'On the remote computer' and all those shortcut keys will work great when you have the remote system as focus.

RDP Client, local resources tab


PowerShell searching scheduled tasks

Someone recently complained about the number of tasks listed in Windows 8.1 Scheduled Tasks and searching them for example, Windows Defender. Quick trip into PowerShell land arrived at


PS C:\Support> Get-ScheduledTask *defender*
TaskPath                                       TaskName                          State
--------                                       --------                          -----
\Microsoft\Windows\Windows Defender\           Windows Defender Cache Mainten... Ready
\Microsoft\Windows\Windows Defender\           Windows Defender Cleanup          Ready
\Microsoft\Windows\Windows Defender\           Windows Defender Scheduled Scan   Ready
\Microsoft\Windows\Windows Defender\           Windows Defender Signature Update Ready
\Microsoft\Windows\Windows Defender\           Windows Defender Verification     Ready


Then I was asked.. How to find the exe that belonged to a Scheduled Task, MpCmdRun.exe (Windows Defender)... huh what? errr...


Lab Test Users

Setting up a test domain often requires some users. Since I am seeing a need to set up a test environment a few different times I figured I'd spend the time to automate it. I looked around for some names lists and figured I would just raid character names from the works of Jane Austin, it gives me some variety.

I just set the user password to the same thing and this script is set to read from user.txt in the same directory and enable the accounts.

$users = Import-Csv .\users.txt -Delimiter ','
$password = Read-Host "Enter password for all test users: " -AsSecureString
foreach($user in $users){
    $name = "$($user.First) $($user.Last)"
    New-ADUser -Name "$($user.First) $($user.Last)" -DisplayName $name -GivenName $($user.First) -Surname $($user.Last) -SamAccountName "$($user.First)$($user.Last)" -AccountPassword $Password -PasswordNeverExpires $true -Enabled $true -Description "User Test Account"


Home Lab - Hardware

I've been slowly acquiring pieces of a budget home lab environment over the last few months. Rather then invest in one large system I wanted a little more flexibility to explore clusters and other options. My primary focus will be setting up the MS 'Private Cloud' configuration, in part for a home test environment and so I can play with different things and maybe get some updated certifications. I also wanted to experiment with monitoring VMware through SCVMM and SCOM 2012sp1 to see how viable a solution that was. Since I have changed roles at work that last is a little less pressing but still something I want to look at to satisfy my curiosity.

Hardware list:


Chipping away some rust Get-MonthAccountCreated

On one of my lists the request was to get a list of mailboxes created during a given month. Now this is more focused on account object creation but the WhenMailboxCreated seems to have some caveats as well and this seemed to have solved the need.

Once the collected list got it working I realized it's been a while since I actually tried to create a function so here it is.

Syndicate content