Следующий сценарий был написан для меня. Моя проблема в том, что когда наша система удаленного развертывания выполняет сценарий, Powershell на локальном компьютере не будет запускать сценарий. У него нет проблем с запуском .vbs. Короче говоря, наше программное обеспечение для удаленного развертывания копирует этот ZIP-файл на все машины, которые не подключены к нашему домену. Этот сценарий должен распаковать файлы в определенное место.

Не слишком усложняя, есть ли способ превратить эту функцию в простой .vbs или есть способ использовать пакетную команду, чтобы PowerShell мог выполнить этот скрипт на всех рабочих станциях, которые мне нужны?

Set oShell = CreateObject( "WScript.Shell" )
user=oShell.ExpandEnvironmentStrings("%UserName%")
comp=oShell.ExpandEnvironmentStrings("%ComputerName%")
USRPROFILE = oshell.expandenvironmentstrings("%UserProfile%")
Appdata = USRProfile & "\AppData\"
sZipFile = "C:\ProgramData\CentraStage\Packages\377fa3f4-6b60-4ec5-94b9-fc1716d53ea9#\vidistar.zip"
sTargetFolder = appdata
Dim oShellApp:Set oShellApp = CreateObject("Shell.Application")
Dim oFSO:Set oFSO = CreateObject("Scripting.FileSystemObject")
    'Create the target folder if it isn't already there
If not oFSO.FolderExists(sTargetFolder) Then
    oFSO.CreateFolder sTargetFolder
    wscript.echo sTargetFolder & "  Folder Has Been Created "
end if
'Extract the files from the zip into the folder
oShellApp.NameSpace(sTargetFolder).CopyHere oShellApp.NameSpace(sZipFile).Items

2 ответа2

1

Этот пример кода выглядит как VBScript, а не PowerShell. Попробуйте запустить его с помощью cscript .

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

0

Вот подсказка большого времени:

Get-Help Set-ExecutionPolicy

а также

Get-Help about_execution_policies

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

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

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