Я хочу запустить «IE Rest Script» на узле, находящемся в той же сети.
Скрипт присутствует в MachineA
, и он должен выполняться в MachineB
, который находится в той же сети.
Сценарий:
add-type -AssemblyName System.Windows.Forms
add-type -AssemblyName microsoft.visualbasic
RunDll32.exe InetCpl.cpl,ResetIEtoDefaults
[Microsoft.VisualBasic.Interaction]::AppActivate("rundll32")
[System.Windows.Forms.SendKeys]::SendWait("{tab}")
[System.Windows.Forms.SendKeys]::SendWait(" ")
[System.Windows.Forms.SendKeys]::SendWait("r")
[System.Windows.Forms.SendKeys]::SendWait("c")
taskkill.exe /f /im iexplore.exe`
Вы должны искать этот вопрос в Google, а не публиковать его прямо на SO.
Пожалуйста, продемонстрируйте свои исследовательские усилия и сузьте вопрос до конкретной проблемы.
Конечно да:
Invoke-Command -ComputerName myremotehost.mydomain.tld -ScriptBlock {
# This code here runs on the remote system
}
Вы должны убедиться, что Удаленное взаимодействие PowerShell активирован в целевой системе.
Будет ли этот код работать с указанным выше скриптом? Но при выполнении вышеуказанного сценария на работающем компьютере (локальном хосте) появится всплывающее окно сброса Internet Explorer, но оно не работает на удаленных машинах.
Если необходимые сборки установлены / присутствуют в удаленной системе: да
Да, сборки доступны в удаленной системе. И если тот же скрипт выполняется в этой целевой системе, он работает нормально.
Тогда что мешает вам просто попробовать?
Но когда я запускаю тот же сценарий с машины A на машину B, он не выполняется, и IE не сбрасывается.
Invoke-Command