Param( [string]$ServerList ) <# .SYNOPSIS ======================================================================================== DATAPIPE AUTOMATION IMPORT MYDP DATA INTO BES ON REMOTE SERVERS AUTHOR: ANTHONY MARINO CMDLET VERSION: 1.0.0 DATE: 3/18/2015 ======================================================================================== Updates the DeviceID and ServerID BES fields on the remote server from a csv. .DESCRIPTION REQUIRED - [-ServerList] - Full path to the csv server list. Example: C:\ServerList.csv EXAMPLE 1: Import-MYDPData -ServerList C:\ServerList.csv #> ##### BEGIN SCRIPT $Servers = (Import-Csv $ServerList) $i = 0 Foreach ($Server in $Servers) { $Name = $Server."Device Name" $SID = $Server.ServerID $DID = $Server.DeviceID $OS = $Server."OS Name" IF ((($OS) -like "*2008 R2*") -or (($OS) -like "*2012*") -or (($OS) -like "*x64*")) { # x64 $CMDServerID = reg add \\$Name\HKLM\SOFTWARE\Wow6432Node\BigFix\EnterpriseClient\Settings\Client\ServerID /v Value /d $SID /f 2>&1 $CMDDeviceID = reg add \\$Name\HKLM\SOFTWARE\Wow6432Node\BigFix\EnterpriseClient\Settings\Client\DeviceID /v Value /d $DID /f 2>&1 $Time = (Get-Date -Format G) IF ((($CMDServerID) -ne "The operation completed successfully.") -or (($CMDDeviceID) -ne "The operation completed successfully.")) { Add-Content -Path C:\BESAutomationResults.txt -Value "FAILED - $Time - PROCESSING X64 SERVER - NAME: $Name | DEVICEID: $DID | SERVERID: $SID |OS: $OS" } ELSE { Add-Content -Path C:\BESAutomationResults.txt -Value "SUCCESS - $Time - PROCESSING X64 SERVER - NAME: $Name | DEVICEID: $DID | SERVERID: $SID |OS: $OS" } } ELSE { # x86 $CMDServerID = reg add \\$Name\HKLM\SOFTWARE\BigFix\EnterpriseClient\Settings\Client\ServerID /v Value /d $SID /f 2>&1 $CMDDeviceID = reg add \\$Name\HKLM\SOFTWARE\BigFix\EnterpriseClient\Settings\Client\DeviceID /v Value /d $DID /f 2>&1 $Time = (Get-Date -Format G) IF ((($CMDServerID) -ne "The operation completed successfully.") -or (($CMDDeviceID) -ne "The operation completed successfully.")) { Add-Content -Path C:\BESAutomationResults.txt -Value "FAILED - $Time - PROCESSING X86 SERVER - NAME: $Name | DEVICEID: $DID | SERVERID: $SID |OS: $OS" } ELSE { Add-Content -Path C:\BESAutomationResults.txt -Value "SUCCESS - $Time - PROCESSING X86 SERVER - NAME: $Name | DEVICEID: $DID | SERVERID: $SID |OS: $OS" } } # Write progress $i++ Write-Progress -activity "IMPORTING MYDP DATA INTO BES ON REMOTE SERVERS..." -status "Processing Server: $i of $($Servers.Count)" -percentComplete (($i / $Servers.Count) * 100) }