Как использовать Invoke-Command для запуска файла ванны в качестве удаленного сервера? - PullRequest
0 голосов
/ 10 декабря 2018

Я только что написал командный файл, который я хотел бы запустить как удаленный сервер, но он продолжает выдавать мне ошибки в PowerShell, когда я использую Invoke-Command.Пакетный файл работает нормально.Кто-нибудь имеет представление о том, что упускают?Ниже приведен мой скрипт PowerShell и ошибка, которую я получаю.

Invoke-Command -ComputerName "HEPWIN2020-10" -Scriptblock {Start-Process C:\DHCP\batfile1.bat}

Я получаю ошибку:

Invoke-Command : A positional parameter cannot be found that accepts argument ''.
At line:1 char:1
+ Invoke-Command -ComputerName "HEPWIN2012-03" -Scriptblock{Start-Proce ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidArgument: (:) [Invoke-Command], ParameterBindingException
    + FullyQualifiedErrorId : PositionalParameterNotFound,Microsoft.PowerShell.Commands.InvokeCommandCommand

1 Ответ

0 голосов
/ 10 декабря 2018

К вашему сведению, если у удаленного компьютера есть учетные данные, вы должны также передать это.И вместо Start-Process используйте Invoke-Expression.Ниже должно работать.

$Username = 'USER'
$Password = 'PASSWORD'
$pass = ConvertTo-SecureString -AsPlainText $Password -Force
$Cred = New-Object System.Management.Automation.PSCredential -ArgumentList $Username,$pass
Invoke-Command -ComputerName "Server1" -credential $cred -ErrorAction Stop -ScriptBlock {Invoke-Expression -Command:"cmd.exe /c 'C:\DHCP\batfile1.bat'"}
...