#new site code $newSiteCode = '002' $smsClient = New-Object -ComObject Microsoft.SMS.Client #return current site code $Result = $smsClient.GetAssignedSite() #test current site code if ($Result -eq $newSiteCode) { Exit } Else { $smsClient.SetAssignedSite($newSiteCode) #set reg path $regPath = 'HKLM:\SOFTWARE\Microsoft\SMS\Mobile Client' If (Get-ItemProperty -Path $regPath -Name GPRequestedSiteAssignmentCode -ErrorAction SilentlyContinue -OutVariable outvar) { #remove current site code Get-Item -Path $regPath | Remove-ItemProperty -Name 'GPRequestedSiteAssignmentCode' -Force -ErrorAction SilentlyContinue Get-Item -Path $regPath | Remove-ItemProperty -Name 'GPSiteAssignmentRetryInterval(Min)' -Force -ErrorAction SilentlyContinue Get-Item -Path $regPath | Remove-ItemProperty -Name 'GPSiteAssignmentRetryDuration(Hour)' -Force -ErrorAction SilentlyContinue $regRemediation = 'TRUE' } Else { $regRemediation = 'FALSE' } $timeStamp = Get-Date -Format dd-MM-yy:HH:mm:ss Write-Output "$env:COMPUTERNAME : Site code changed from $result > $newSiteCode | Registry Remediated = $regRemediation | $timeStamp" | Out-File .\site.log -Append $timeStamp = "" }