param(
[string]$serverName
)
$serverName = "xxx.healthcare.local"
function WaitForProcess($procID){
$waitRetry = 60
while ($waitRetry -gt 0){
if (-not (Get-WmiObject -Class Win32_Process -Filter ("ProcessId=" + $procID) -ComputerName $serverName -Credential $cred)){
$waitRetry=0
}
$waitRetry--
Start-Sleep -Seconds 3
}
}
net use "\\$($serverName)\c`$" /user:"id-yyyy\yyyy" "xxxx"
if (-not (dir "\\$($serverName)\c`$\temp")) {
md "\\$($serverName)\c`$\temp"
}
if (-not $cred) {
$pwdCred = ConvertTo-SecureString -String "xxxx" -AsPlainText -Force
$cred = new-object System.Management.Automation.PSCredential("id-xxxx\yyyy",$pwdCred)
}
copy "C:\temp\scom2016\agent\AMD64" "\\$($serverName)\c`$\temp\scomagent\" -Recurse -Force
copy "C:\temp\scom2016\SupportTools\AMD64" "\\$($serverName)\c`$\temp\scomtools\" -Recurse -Force
if (-not (more "\\$($serverName)\c`$\windows\system32\drivers\etc\hosts" | where {$_ -like "*ave-omms01.ave-om.local*"})){
"10.250.199.6`tscom-xxx.xxx-om.xxx" | add-content -Path "\\$($serverName)\c`$\windows\system32\drivers\etc\hosts"
}
$scomParam = "USE_SETTINGS_FROM_AD=0 USE_MANUALLY_SPECIFIED_SETTINGS=1 " +
"MANAGEMENT_GROUP=AVE-OM-MG MANAGEMENT_SERVER_DNS=scom.scom-om.local SECURE_PORT=5723 "+
"ACTIONS_USE_COMPUTER_ACCOUNT=1 AcceptEndUserLicenseAgreement=1 ENABLE_ERROR_REPORTING=0" +
"QUEUE_ERROR_REPORTS=0"
$installagentCmd = 'msiexec.exe /i c:\temp\scomagent\MOMAgent.msi /qn /norestart '+$scomParam
$retObj = Invoke-WmiMethod -Class Win32_Process -Name "Create" -ComputerName $serverName -ArgumentList @($installagentCmd) -Credential $cred
if ($retObj.ReturnValue -eq 0){
WaitForProcess -procID $retObj.ProcessId
}
$momCertCmd = 'c:\temp\scomtools\MOMCertImport.exe /SubjectName "' + $serverName +'"'
$retObj = Invoke-WmiMethod -Class Win32_Process -Name "Create" -ComputerName $serverName -ArgumentList @($momCertCmd) -Credential $cred
if ($retObj.ReturnValue -eq 0){
WaitForProcess -procID $retObj.ProcessId
}
#sc "\\$serverName" stop HealthService
#sc "\\$serverName" start HealthService
del "\\$($serverName)\c`$\temp\scomagent\" -Recurse -Force
del "\\$($serverName)\c`$\temp\scomtools\" -Recurse -Force
net use "\\$($serverName)\c`$" /delete
[string]$serverName
)
$serverName = "xxx.healthcare.local"
function WaitForProcess($procID){
$waitRetry = 60
while ($waitRetry -gt 0){
if (-not (Get-WmiObject -Class Win32_Process -Filter ("ProcessId=" + $procID) -ComputerName $serverName -Credential $cred)){
$waitRetry=0
}
$waitRetry--
Start-Sleep -Seconds 3
}
}
net use "\\$($serverName)\c`$" /user:"id-yyyy\yyyy" "xxxx"
if (-not (dir "\\$($serverName)\c`$\temp")) {
md "\\$($serverName)\c`$\temp"
}
if (-not $cred) {
$pwdCred = ConvertTo-SecureString -String "xxxx" -AsPlainText -Force
$cred = new-object System.Management.Automation.PSCredential("id-xxxx\yyyy",$pwdCred)
}
copy "C:\temp\scom2016\agent\AMD64" "\\$($serverName)\c`$\temp\scomagent\" -Recurse -Force
copy "C:\temp\scom2016\SupportTools\AMD64" "\\$($serverName)\c`$\temp\scomtools\" -Recurse -Force
if (-not (more "\\$($serverName)\c`$\windows\system32\drivers\etc\hosts" | where {$_ -like "*ave-omms01.ave-om.local*"})){
"10.250.199.6`tscom-xxx.xxx-om.xxx" | add-content -Path "\\$($serverName)\c`$\windows\system32\drivers\etc\hosts"
}
$scomParam = "USE_SETTINGS_FROM_AD=0 USE_MANUALLY_SPECIFIED_SETTINGS=1 " +
"MANAGEMENT_GROUP=AVE-OM-MG MANAGEMENT_SERVER_DNS=scom.scom-om.local SECURE_PORT=5723 "+
"ACTIONS_USE_COMPUTER_ACCOUNT=1 AcceptEndUserLicenseAgreement=1 ENABLE_ERROR_REPORTING=0" +
"QUEUE_ERROR_REPORTS=0"
$installagentCmd = 'msiexec.exe /i c:\temp\scomagent\MOMAgent.msi /qn /norestart '+$scomParam
$retObj = Invoke-WmiMethod -Class Win32_Process -Name "Create" -ComputerName $serverName -ArgumentList @($installagentCmd) -Credential $cred
if ($retObj.ReturnValue -eq 0){
WaitForProcess -procID $retObj.ProcessId
}
$momCertCmd = 'c:\temp\scomtools\MOMCertImport.exe /SubjectName "' + $serverName +'"'
$retObj = Invoke-WmiMethod -Class Win32_Process -Name "Create" -ComputerName $serverName -ArgumentList @($momCertCmd) -Credential $cred
if ($retObj.ReturnValue -eq 0){
WaitForProcess -procID $retObj.ProcessId
}
#sc "\\$serverName" stop HealthService
#sc "\\$serverName" start HealthService
del "\\$($serverName)\c`$\temp\scomagent\" -Recurse -Force
del "\\$($serverName)\c`$\temp\scomtools\" -Recurse -Force
net use "\\$($serverName)\c`$" /delete