# encoding: ascii
# api: powershell
# title: Update User Profiles
# description: There was a script written by TheMoblin http://poshcode.org/4651 that started a discussion at the Powershell forums http://powershell.org/wp/forums/topic/how-to-make-this-more-useful-for-my-situation/ as I was having issues getting it to work in my particular situation. Mike Robbins responded with the below code. My original description for this was incorrect and this is an updated description to ensure Mike gets the correct credit as it is well deserved.
# version: 0.1
# type: module
# author: xspader
# license: CC0
# x-poshcode-id: 5370
# x-archived: 2015-06-23T00:29:13
# x-published: 2015-08-15T00:08:00
#
# I added n the SearchBase section to better fit my situation.
#
$OldServer = 'OldServer'
$NewServer = 'NewServer'
Import-Module ActiveDirectory
Get-ADUser -Filter "Enabled -eq 'true' -and HomeDirectory -like '*$OldServer*' -or ProfilePath -like '*$OldServer*'" -SearchBase "OU=xx,DC=xx,DC=xx,DC=xx" -Properties HomeDirectory, ProfilePath |
ForEach-Object {
if ($_.HomeDirectory -like "*$OldServer*") {
Set-ADUser -Identity $_.DistinguishedName -HomeDirectory $($_.HomeDirectory -replace $OldServer, $NewServer)
}
if ($_.ProfilePath -like "*$OldServer*") {
Set-ADUser -Identity $_.DistinguishedName -ProfilePath $($_.ProfilePath -replace $OldServer, $NewServer)
}
}