Подтвердить что ты не робот

Enter-PSSession не работает в моей Powershell script

Когда я запускаю строки ниже из script, файл заканчивается созданием на моей локальной машине.

$cred = Get-Credential domain\DanTest
Enter-PSSession -computerName xsappb01 -credential $cred

New-Item -type file c:\temp\blahxsappk02.txt

exit-pssession

Когда я запускаю каждую строку отдельно от консоли powershell, удаленный сеанс создается правильно, и файл создается на удаленной машине. Любые мысли о том, почему? Это вопрос времени script, возможно?

4b9b3361

Ответ 1

Не уверен, что это проблема синхронизации. Я подозреваю, что это больше похоже на Enter-PSSession, вызывая что-то вроде вложенного приглашения, и ваши последующие команды не выполняются внутри него. Во всяком случае, я считаю, что Enter/Exit-PSSession предназначен для интерактивного использования, а не для использования скриптов. Для сценариев используйте New-PSSession и передайте этот экземпляр сеанса в Invoke-Command, например:

$cred = Get-Credential domain\DanTest 
$s = New-PSSession -computerName xsappb01 -credential $cred
Invoke-Command -Session $s -Scriptblock {New-Item -type file c:\temp\blah.txt}
Remove-PSSession $s