Aei*_*sor 5 powershell windows-server-2008-r2
我有一个使用PowerShell ISE手动运行的 PowerShell 脚本。但是,当使用管理员凭据作为计划任务运行时,该任务不会以预期的结果运行。
剧本:
$request=new-object System.Net.WebClient
$request.DownloadFile("...url...", "C:\path\to\file.csv")
Run Code Online (Sandbox Code Playgroud)
管理员用户对脚本及其写入的文件夹具有完全控制权。URL 存在并在合理的时间内(少于一秒)作出响应。
如果我手动运行任务,状态为 0x41301(“当前正在运行”),直到我最终结束它。我已经使用这两种方法设置了任务:
C:\path\to\PS.PS1
C:\windows\system32\WindowsPowerShell\v1.0\powershell.exe
带有附加选项-noninteractive -command "C:\path\to\PS.PS1"
使用选项 1,任务历史记录显示它已打开 notepad.exe 的一个实例,但从未终止它。使用选项 2 可以完成任务,但不会下载/创建文件。
我使用过,Set-ExecutionPolicy Unrestricted
因为这不是签名脚本。
我该如何解决这个问题?
小智 6
当您运行的是脚本文件而不是脚本块时,您应该使用的参数是 -File。
此外,使用 Set-ExecutionPolicy cmdlet 设置执行策略并不能保证脚本在该上下文中执行。有效的执行策略可能会被组策略 (GPO) 覆盖。要在执行文件时强制执行此操作,请使用 -ExecutionPolicy 参数
你要找的命令如下
powershell.exe -ExecutionPolicy Unrestricted -NonInteractive -NoProfile -File c:\path\ps.ps1
Run Code Online (Sandbox Code Playgroud)
可以在此处找到这些参数的更多信息。
归档时间: |
|
查看次数: |
35098 次 |
最近记录: |