С ПК А я пытаюсь запустить этот скрипт.Он должен на ПК B запустить Exe.Exe, который он будет запускать, находится на ПК C. Это ПК с ОС Windows 7, на которых ПК C является сервером 2008 \ 2012
$text ='Start-process -FilePath "\\<serverpath>\App.exe" "`-f switch`.switch"'
Invoke-Command -ComputerName $PCname -Scriptblock { param ($text)
$text | Invoke-Expression
}
Команда в $ text запускается с консоли powershell на удаленном ПК просто правильно.Выполнение всего сценария дает: Эта команда не может быть выполнена из-за ошибки: Доступ запрещен.
Проводя некоторые исследования, я считаю, что я сталкиваюсь с " проблема двойного прыжка "
Краткое описание.
У вас есть компьютеры A, B и C. Вы хотите запустить скрипт из A, у которого B запускает скрипт \ process на C. Ваши учетные данные не будут передаваться из B в C.
В связи с требованиями, я думаю, используя метод
$cred = Get-Credential Contoso\Administrator
Invoke-Command -ComputerName ServerB -Credential $cred -ScriptBlock {
hostname
Invoke-Command -ComputerName ServerC -Credential $Using:cred -ScriptBlock {hostname}
}
Как объяснено в ссылке.Одна проблема, с которой я столкнулся, это то, что я хочу, чтобы процесс запускался на ПК B, а это единственный исполняемый файл, который находится на ПК C.