Указанный сеанс не существует. Это может быть полным - PullRequest
0 голосов
/ 20 января 2020

Ошибка:

Указанный сеанс не существует в Invoke-Command

На сервере в папке C: \ scripts есть скрипт powershell что:

Принимает файлы из папок и редактирует текст в них, а второй шаг распространяет их на удаленных компьютерах.

Если очень просто c, второй шаг выглядит следующим образом:

Invoke-Command $remoteComp -Credential $cred -Scriptblock {
New-PsDrive -Name X -Credential $credLocal -PsProvider FileSystem -Root \\10.10.10.10\script\first\

Copy-Item -Path X:\Filename.txt -Destination C:\FileFloder\Filename.txt

Remove-Psdrive -Name X}

Работает. Файл хорошо перевернут. НО, примерно в 2/3 случаев я получаю сообщение об ошибке

Указанный сеанс не существует. Это может быть полным

(я русскоговорящий. Я дословно перевел ошибку, но в английском sh написано так же, насколько я знаю.)

В то же время, если вы перезагрузите удаленный компьютер или снова запустите сценарий через 30 минут, он будет работать правильно.

На удаленных компьютерах создаются учетные записи локальных администраторов, Enable-Psremoting- Применен командлет Force, на сервере существует учетная запись администратора, а машины, с которыми установлено соединение, включены в TrustedHosts. Все компьютеры НЕ находятся в домене. Все машины работают Windows 10 и используют Powershell 5.1.

Google говорит, что, возможно, я улавливаю ошибку из-за Double-Hop (когда я подключаюсь от удаленного сеанса к другому удаленному сеансу), но тогда я бы не сможет работать вообще. Но скрипт работает стабильно в 1/3 случаев, и чаще всего я получаю сообщение об ошибке «Указанный сеанс не существует. Возможно, он завершен».

...