-1

Вот некоторые подробности

  1. Удаленный ПК может не иметь администратора.
  2. Программное обеспечение находится в сетевой папке, доступной для всех пользователей.
  3. PsExec находится на машине администратора

Я пытался сделать это, но я получаю "Неверный каталог" или "Система не может найти указанный путь"

psexec \\REMOTEPC1 -w "C:\temp\installRF" "setup.exe /unattended=true /quiet=true /allowShutdown=false /add="FaxUtil,FaxCtrl" /rightFaxServer="faxserver1" /log:whyme"

1 ответ1

0

Несколько соображений при удаленной установке приложений:

1) Для установки потребуется взаимодействие с пользователем?
2) Каким пользователем вы пользуетесь для установки программного обеспечения?
3) Имеет ли тот же пользователь, которого вы используете для установки программного обеспечения, сопоставления дисков и / или доступ для чтения данных сетевого хранилища?


Имея это в виду, я рекомендую следующий подход.

1. Создайте скрипт для копирования всей папки установки в локальную систему
2. Запустите приложение установщика локально, используя системную учетную запись

У меня есть некоторый код, который я построил с powershell некоторое время назад, вот соответствующие строки кода, которые вас заинтересуют:

    $computername=read-host "type in a computername"
    mkdir \\$computername\c$\MyAppInst
    copy-item  "X:\Software\App1\setup.exe"  "\\$computername\c$\MyAppInst"
    start-process "psexec.exe" -args "-accepteula -s -d -i 0 \\$ComputerName wscript.exe C:\MyAppInst\install.vbs" -passthru

Я собрал свою собственную оболочку vbscript, прежде чем начать установку приложения, потому что я не думаю, что psexec может правильно обрабатывать все параметры установки.

В моем случае мы должны были выполнять резервное копирование USMT (scanstate) удаленно. Вот код VB, который мы использовали (отредактированный с указанием информации о компании). Мне нравится использовать escape-символ двойной кавычки в vb (это chr (34)), чтобы облегчить поиск и устранение неисправностей. Еще одна веская причина, по которой я помещаю все в переменную, заключается в том, что я могу wscript.echo эту переменную и посмотреть, что именно запускается.

Set objShell = WScript.CreateObject("WScript.Shell")
fileExecutablePath=chr(34) & "C:\Desktop Tools\USMTv2\scanstate.exe" & chr(34)

fileExecutableSwitches=" " & chr(34) & "\\server\migration_data\" & objShell.Environment("PROCESS").Item("COMPUTERNAME") & chr(34) & " /c /localonly /ue:MYDOMAIN\* /ue:" & objShell.Environment("PROCESS").Item("COMPUTERNAME") & "\*" & " /uel:7 /config:" & chr(34) & "C:\Desktop Tools\USMTv2\config.xml" & chr(34) & " /i:" & chr(34) & "C:\Desktop Tools\USMTv2\migapp-CompanyAppsOnly.xml" & chr(34) & " /i:" & chr(34) & "C:\Desktop Tools\USMTv2\migdocs-Company.xml" & chr(34) & " /l:" & chr(34) & "\\server\migration_data\" & objShell.Environment("PROCESS").Item("COMPUTERNAME") & "\" & objShell.Environment("PROCESS").Item("COMPUTERNAME") & "_usmtBACKUP.log" & chr(34) & " /v:13 /targetWindows7"

return=objShell.Run(fileExecutablePath & fileExecutableSwitches, 0, true)

wscript.echo "Your local data has been backed up. This data will be transferred to your new computer. Anything you now save locally will not be transferred."

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .