Powershell: ошибки файла удаленной установки .exe и отсутствие файла setup.iss

Привет, я пытаюсь понять, как установить файлы .exe на 5-серверный компьютер, но у меня возникают проблемы с попыткой установить без вывода сообщений на моем собственном компьютере. У меня есть эта команда Invoke-Command -ScriptBlock {Start-Process -FilePath \\ xxx-STUDENT3-W7 \ Users \ bkoo004 \ Documents \ test \ ccleaner402.exe \ r}, но я не могу найти файл setup.iss в Папка Windows. Также, когда я использую эту команду

Invoke-Command -computername xxxxxxxxxxx.edu -ScriptBlock {start-process -filepath "\\ xxx-S TUDENT3-W7 \ Users \ bkoo004 \ Documents \ test \ ccleaner402.exe"} -Credential $ cred

Это дает мне сообщение об ошибке, говорящее, что эта команда не может быть выполнена из-за ошибки: имя сети не может быть найдено. + CategoryInfo: InvalidOperation: (:) [Start-Process], InvalidOperationException + FullyQualifiedErrorId: InvalidOperationException, Microsoft.PowerShell.Commands.StartProcessCommand

Но я знаю, что это сетевое имя правильное, потому что, когда я запускаю Invoke-Command -computername xxxxxxxxxxx.edu -ScriptBlock {get-process} -Credential $ cred, он возвращает get-процесс этого сервера.

Я подумал, что из-за того, что я не получил файл setup.iss, это связано с тем, что программа, которую я пытаюсь установить, не использует installshield, но из-за ошибки при попытке запустить start-process на моем удаленном сервере я понятия не имею, что это такое.


person BKoo    schedule 05.06.2013    source источник
comment
Если вы собираетесь использовать какие-либо удаленные команды, которые имеют сетевое расположение, вам необходимо исправить проблема двойного перехода.   -  person E.V.I.L.    schedule 05.06.2013
comment
New-PSSession xxxxxxxxxx.edu -authentication CredSSP -credential $ cred | Invoke-Command -computername xxxxxxxxxxxx.edu -ScriptBlock {start-process -filepath \\ xxx-STUDENT3-W7 \ Users \ xxxxxx \ Documents \ test \ S etup.exe}, используя эту команду, я все равно получаю сообщение об ошибке «сеть не найдена»   -  person BKoo    schedule 05.06.2013
comment
Также я не понимаю, как то, что я пытаюсь сделать, вызывает проблему с двойным прыжком? Я не пытаюсь обеспечить удаленный доступ к серверу куда угодно. Извините, я действительно новичок в этой области   -  person BKoo    schedule 05.06.2013


Ответы (1)


Не уверен, что вы столкнулись с проблемой двойного прыжка, но похоже, что это так. Так что я подумал, что дам вам немного больше информации об этом. Версия Боба Лоблоу.

Что такое сервер, а что клиент? Сервер, он принимает вещи, - это компьютер, к которому вы подключены. Клиент, он дает вещи, - это компьютер, который вы используете для удаленного взаимодействия. Итак, в команде Invoke-Command -computername xxxxxxxxxxx.edu ... «xxxxxxxxxxx.edu» - это сервер.

Судя по вашему описанию, похоже, что вы уже выполнили команду Enable-PSRemoting на своем сервере. Если удаленное взаимодействие включено на сервере, вы должны иметь возможность делать Enter-PSSession -ComputerName xxxxxxxxxxx.edu и иметь интерактивную командную строку на клиенте.

Если вы войдете в удаленный сеанс и выполните Get-ChildItem "\\ComputerName\Share", команда завершится ошибкой (из соображений безопасности). Это двойной прыжок, потому что вы переходите с одного компьютера на другой. Сетевая папка - это другой компьютер. Итак, вы собираетесь так:

Клиент -> Сервер -> Общий сетевой ресурс

Hippity-Hoppity

Вам нужно настроить больше " вещи ", чтобы исправить двойной прыжок. Сначала на вашем сервере (ах) вам нужно запустить команду Enable-WSManCredSSP Server, чтобы он принимал учетные данные от клиентов. Во-вторых, на вашем клиенте (ах) вам нужно запустить команду Enable-WSManCred -Role Client -DelegateComputer *, чтобы она выдавала ваши учетные данные серверам.

Теперь, когда CredSSP настроен на передачу и прием учетных данных, вы должны решить проблему двойного перехода.

Enter-PSSession -ComputerName Computer1 -Authentication Credssp -Credential (Get-Credential)

Теперь вы сможете получить доступ к общим сетевым ресурсам из удаленного сеанса Get-ChildItem "\\ComputerName\Share".

Надеюсь, это вам немного поможет.

P.S. В банановом киоске всегда есть деньги.

person E.V.I.L.    schedule 05.06.2013
comment
Когда я использую эту команду, Invoke-Command -computername xxx-fs-2.ads.xxx.edu -authentication credssp -credential $ cred -ScriptBlock {start-process -filepath \\ xxx-fs-1.xxx.ucr.edu \ software \ npp.6.3.3.Installer.exe -argumentlist / S} Моя powershell просто зависает. Я предполагаю, что при открытии файла .exe есть предупреждение о безопасности. Как я могу это обойти? - person BKoo; 06.06.2013
comment
Значит ли это, что проблема с двойным прыжком исправлена? - person E.V.I.L.; 06.06.2013
comment
Следующее, что я хотел бы проверить, - это войти в интерактивный сеанс, используя Enter-PSSession, и посмотреть, установится ли \\Computer\Share\NPP.exe /S. Если это не сработает, возможно, вам удастся задать еще один вопрос. Я не профессионал в удаленных установках. Я не знаю, связана ли установка с UAC или нет. Но я верю, что при запуске установочного файла приглашение вернется только после завершения установки. - person E.V.I.L.; 07.06.2013
comment
Когда я использовал Enter-pssession и пытаюсь установить его, я получаю сообщение об ошибке отказа в доступе, если я не использую credssp, и получаю сообщение об ошибке повышения прав, если я использую credssp .. - person BKoo; 08.06.2013
comment
если я использую эту команду после enter-pssession, мой PowerShell просто зависает - person BKoo; 08.06.2013
comment
Start-Process -FilePath \\ xxx-fs-1.ads.xxx.edu \ software \ npp.6.3.3 .Installer.exe -ArgumentList / S, и я запускаю эту команду после выполнения Enter-PSSession -authentication credssp -credential $ cred -ComputerName xxx-fs-2.ads.xxx.edu - person BKoo; 08.06.2013