通过任务计划程序访问目录中具有特殊字符的脚本
Accessing a script in a directory with special characters via Task Scheduler
我想要运行以下内容:
C:\WINDOWS\system32\WindowsPowerShell\v1.0\powershell.exe -ExecutionPolicy Bypass -command "& "^""\srv01\sysvol\ad.contoso.com\Policies\{AC6E02A7-BEDE-4D4D-A171-D4DA1E0AF2CA}\Machine\Scripts\Startup\removeAutoStartKey.ps1"^"
为了删除受保护的 'Run' 注册表项,当 运行 作为用户时,Microsoft 程序使用一些内部漏洞来绕过权限问题不断重新创建该注册表项。由于 NT/SYSTEM 具有完全权限并且可以将其删除,因此任务需要 运行 作为具有最大可能权限的 system/root 帐户。
在无休止地尝试越来越复杂的转义序列后,我一直 运行 遇到 0x8070005“未找到文件”错误。为了 运行 目录中包含非基本字符(如空格、括号、破折号等)的脚本,到底需要在“添加参数(可选)”字段中输入什么?
因为您所做的只是调用一个.ps1
文件,使用-File
CLI 参数 代替-Command
:脚本文件路径的简单double-quoting 即可:
C:\WINDOWS\system32\WindowsPowerShell\v1.0\powershell.exe -ExecutionPolicy Bypass -File "\srv01\sysvol\ad.contoso.com\Policies\{AC6E02A7-BEDE-4D4D-A171-D4DA1E0AF2CA}\Machine\Scripts\Startup\removeAutoStartKey.ps1"
通过 -Command
调用 - 仅当您需要将命令解释为 作为 PowerShell 代码 时才有必要 - 转义任何 嵌入 "
as \"
(原文如此):
C:\WINDOWS\system32\WindowsPowerShell\v1.0\powershell.exe -ExecutionPolicy Bypass -Command "& \"\srv01\sysvol\ad.contoso.com\Policies\{AC6E02A7-BEDE-4D4D-A171-D4DA1E0AF2CA}\Machine\Scripts\Startup\removeAutoStartKey.ps1\""
就是说,由于您的脚本文件路径 不需要 引用,因此即使只是
-Command "\path\to\your.ps1"
也可以。
另请参阅:
我想要运行以下内容:
C:\WINDOWS\system32\WindowsPowerShell\v1.0\powershell.exe -ExecutionPolicy Bypass -command "& "^""\srv01\sysvol\ad.contoso.com\Policies\{AC6E02A7-BEDE-4D4D-A171-D4DA1E0AF2CA}\Machine\Scripts\Startup\removeAutoStartKey.ps1"^"
为了删除受保护的 'Run' 注册表项,当 运行 作为用户时,Microsoft 程序使用一些内部漏洞来绕过权限问题不断重新创建该注册表项。由于 NT/SYSTEM 具有完全权限并且可以将其删除,因此任务需要 运行 作为具有最大可能权限的 system/root 帐户。
在无休止地尝试越来越复杂的转义序列后,我一直 运行 遇到 0x8070005“未找到文件”错误。为了 运行 目录中包含非基本字符(如空格、括号、破折号等)的脚本,到底需要在“添加参数(可选)”字段中输入什么?
因为您所做的只是调用一个.ps1
文件,使用-File
CLI 参数 代替-Command
:脚本文件路径的简单double-quoting 即可:
C:\WINDOWS\system32\WindowsPowerShell\v1.0\powershell.exe -ExecutionPolicy Bypass -File "\srv01\sysvol\ad.contoso.com\Policies\{AC6E02A7-BEDE-4D4D-A171-D4DA1E0AF2CA}\Machine\Scripts\Startup\removeAutoStartKey.ps1"
通过 -Command
调用 - 仅当您需要将命令解释为 作为 PowerShell 代码 时才有必要 - 转义任何 嵌入 "
as \"
(原文如此):
C:\WINDOWS\system32\WindowsPowerShell\v1.0\powershell.exe -ExecutionPolicy Bypass -Command "& \"\srv01\sysvol\ad.contoso.com\Policies\{AC6E02A7-BEDE-4D4D-A171-D4DA1E0AF2CA}\Machine\Scripts\Startup\removeAutoStartKey.ps1\""
就是说,由于您的脚本文件路径 不需要 引用,因此即使只是 -Command "\path\to\your.ps1"
也可以。
另请参阅: