Archives for posts with tag: system administration

So What Brought This On?

Well we are in the process of adding a new SAN to our network at one of our locations.  The path to the roaming profile folders will need to change as a result of this.  However, we only need to make this change for a group of users at a specific location and whose roaming profile is currently pointing to the old server.

PowerShell to the Rescue!

Whenever I get the chance to write a PowerShell script, I get sorta excited about it.  Since we are still on Windows XP SP3 over here, I don’t get the chance to do a lot of cool stuff and all of our servers are not yet running Windows Server 2008 (even though we are getting there).

So I decided to write a handy script that will automate this process for me.  There are a few things to be aware of when running this script.
I ran into an issue when I attempted to run the script from a Domain Controller.  I was getting the message Set-ADUser : Insufficient access rights to perform the operation.  There must be some type of security setting or something that disallows this Active Directory editing locally.

So I tried pointing it to a server running Windows Server 2003 by using the -Server parameter but got the following message: Unable to contact the server.  This may be because this server does not exist, it is currently down, or it does not have the Active Directory Web Services running.  This would be because it’s a Windows 2003 Server Domain Controller (duh).

So I pointed it to another domain controller running Windows Server 2008 and it worked just fine.

The Script



Changes the roaming profile path of all Downtown user accounts in Active Directory to a new location.


Searches Active Directory for all users whos profiles reside on OLDNAS and changes their profile path to a share on NEWNAS


PS C:\>Change-ProfilePath-for-Downtown-Users


# Import the AD Module

Import-Module ActiveDirectory -ErrorAction SilentlyContinue

# Get credentials

$AdminCredentials = Get-Credential

# Get users from Active Directory

$Users = Get-ADUser -Filter {ProfilePath -like "\\OLDNAS\profiles*"} -Properties ProfilePath | Sort SamAccountName

# Loop through the users and change their profile paths

ForEach ($User in $Users ) {

Write-Host "Changing Profile for User:" $User .Name

$ProfilePath = "\\NEWNAS\PROFILES$\" + $User .SamAccountName

Set-ADUser $User -ProfilePath $ProfilePath -Credential $AdminCredentials -Server "lafayettedc2.citysecurities.local"


The Situation

I always love the day after I push Software Updates to servers.  It gives me an opportunity to hone my troubleshooting skills a bit.  This morning when doing the usual putting out fires routine, I discovered that the VMware VirtualCenter Server service was not running.  So I rebooted the machine and still the service would not run.  So I figured that maybe the database is not up and running yet, when the vCenter service is trying to run.

I consider this because I was able to run the service manually after the server had completely come up.  So I figured I should put in a dependency for the VMware VirtualCenter Server service to run after the SQLExpress service is up.  Please note that SQLExpress is on the same virtual machine as the vCenter Server installation. Read the rest of this entry »

Microsoft Update Tuesday…Blah!

I absolutely dread Microsoft Update Tuesday.  I think I dread it the most because I use System Center Configuration Manager (SCCM) to deploy software updates.  Originally, when first deploying SCCM, I’ll admit that I didn’t spend quite enough time thinking through how sustainable the methodology that I configured would be.  Now that I have 3 years worth of updates in SCCM, I decided that some changes need to be made to our methodology because it takes me too long to deploy new updates.  So let’s see what configuration settings I can change to make this process a little easier and less time-consuming for me.

A Little About Our Environment

I have configured our SCCM environment with 1 Primary Site and 11 Secondary Sites which are geographically dispersed throughout the state, Ohio and Massachusetts.  The Primary site has the Software Update Point site system installed.  I utilize Update Lists to keep the updates organized and categorized.  I categorize by update type (i.e. Security, Critical, Updates, Update Rollups, Service Packs, etc.) and year (i.e. 2009, ’10, ’11).  This makes it easy to find specific updates and to later combine them into packages.

In the past I would divide the Deployment Management Advertisements along these lines as well.  This was a terrible idea originally as I soon found out after 1 year of doing things this way that it would continue to take more time in the long run–as more years accumulated. Read the rest of this entry »


I just spent the past week at InfoPoint taking Microsoft course 10135A Automating Administration with Windows PowerShell 2.0.  Although I have worked with PowerShell before, I decided to take this course in hopes to discover things about the scripting language that I may not already know.  The topics discussed in this post are those that I found to be either interesting or helpful. Read the rest of this entry »

The Scoop

While in training last week we had a power outage on our Northside office.  One of the servers, call it SERVER1, went down as a result of the outage.  Battery backups were indeed in place but the outage lasted long enough to drain them considerably.  After the power outage was over all services came back up on the server except the Windows Deployment Services (WDS) service.  SERVER1 is a System Center Configuration Manager (SCCM) Secondary Site.  Moreover, it’s  PXE Service Point. Read the rest of this entry »