Я использую следующий скрипт для импорта файла .reg на удаленные компьютеры.Мне нужно выполнить следующее:
- Подключиться к удаленному компьютеру и завершить работающий процесс, если он запущен.
- Скопировать файл ключа .reg из папки Network Share вудаленный компьютер.
- Импортируйте скопированный ключ .reg в реестр удаленного компьютера. '
- Удалите скопированный файл ключа .reg с удаленного компьютера.
- Запустите процессэто было убито в начале.
Теперь я относительно новичок в написании сценариев PowerShell, и у меня есть сценарий, частично отобранный из сценариев, которые я нашел в Интернете и в своей книге PowerShell Cookbook.
Когда я запускаю сценарий, происходит следующее: он подключается к удаленному компьютеру и завершает процесс, но затем сценарий зависает и не выполняет шаги 2-5.Это не выбрасывает никаких ошибок либо.Что я пропускаю или делаю неправильно?
Заранее спасибо!
#Variables
$Computers = Get-Content C:\computer.txt
$LocalRegFileName = "regfile.reg"
$HostedRegFile = "\\NETWORK-SHARE\Folder\Folder\regfile.reg"
$ProcessName = "Process"
$FilePath = "C:\Program Files (x86)\Folder\$ProcessName.exe"
foreach ($Computer in $Computers) {
Invoke-Command -ComputerName $Computer {
Get-Process -Name $ProcessName | Stop-Process -Force
}
$NewFile = "\\$Computer\C'$\TEMP\$LocalRegFileName"
New-Item -ErrorAction SilentlyContinue -ItemType directory -Path \\$Computer\C$\TEMP
Copy-Item $HostedRegFile -Destination $NewFile
Invoke-Command -ComputerName $Computer -ScriptBlock {
Start-Process -FilePath "C:\Windows\regedit.exe" -ArgumentList "/s C:\TEMP\$LocalRegFileName"
}
Invoke-Command -ComputerName $Computer -ScriptBlock {
Remove-Item "C:\TEMP\$LocalRegFileName"
}
Invoke-Command -ComputerName $Computer -ScriptBlock {
Start-Process -FilePath "$FilePath\$ProcessName.exe"
}
}