脚本新手,需要帮助运行 powershell 脚本来部署软件。(powershell 阻止执行)

脚本新手,需要帮助运行 powershell 脚本来部署软件。(powershell 阻止执行)

以下脚本是为我编写的。我的问题是,当我们的远程部署系统执行脚本时,本地计算机上的 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

答案1

该代码示例看起来像 VBScript,而不是 PowerShell。尝试使用 运行它cscript

或者,如果您的远程部署系统知道如何运行.vbs 文件,只需将扩展名从.ps1 更改为.vbs。

答案2

这是一个重要的提示:

Get-Help Set-ExecutionPolicy

Get-Help about_execution_policies

这里最大的问题是:你的目标机器是否被允许运行未签名的脚本?PowerShell 根据会话设置了不同的限制,通常你会发现策略是受限制的。

您可以通过加入域的计算机上的组策略设置执行策略,这通常是更好的选择。

相关内容