gpt4 book ai didi

Powershell 脚本在远程连接时有效,但不能作为 Azure 启动任务

转载 作者:行者123 更新时间:2023-12-02 07:31:59 24 4
gpt4 key购买 nike

我有一个保存在 .cmd 文件中的 powershell 脚本,该脚本从网络下载文件然后解压缩。我的 azure 网络角色在启动时执行它。这是脚本:

powershell -ExecutionPolicy Bypass -c $(New-Object Net.WebClient).DownloadFile('URL.zip', 'FILE.zip') ;
(New-Object -com shell.application).namespace('c:\FOLDER').Copyhere((New-Object -com shell.application).namespace('FILE.zip').items())

当我通过 Azure 启动任务运行脚本时:脚本的第一部分有效。文件已下载。解压脚本的第二部分不运行。

当我远程进入虚拟机时通过命令行运行脚本时:整个脚本运行。

因此我知道这不是语法错误。我能想到上述两种情况之间的唯一区别是权限问题。但是,我正在运行 powershell,并将 -ExecutionPolicy 设置为 Bypass,这是最高权限级别。有人有什么想法吗?谢谢!

最佳答案

更改命令,以便将命令的输出转储到文件中。像这样的东西应该可以工作

<YOUR_COMMAND> > out.log 2> err.log

再次运行任务并检查日志中的输出。

此外,您使用的是相对路径而不是绝对路径。计划任务可能以 Windows 系统文件夹作为其工作目录运行,因此您可能会遇到权限错误。尝试使用您创建的目录的绝对路径。

关于Powershell 脚本在远程连接时有效,但不能作为 Azure 启动任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14402060/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com