小编Kee*_*rth的帖子

从Powershell启动Elevated CMD.exe

我正在尝试从PowerShell启动提升的CMD窗口,但遇到了一些问题。以下是我现在拥有的代码。计算机上有一个管理员帐户,其用户名为“ test”,密码为“ test”

$username = "test"
$password = ConvertTo-SecureString "test" -AsPlainText -Force
$cred = new-object -typename System.Management.Automation.PSCredential -argumentlist $username, $password
Start-Process "cmd.exe" -Credential $cred
Run Code Online (Sandbox Code Playgroud)

对于从用户配置文件运行该脚本时没有管理员权限的应用程序,这一切都可以正常工作,但是在调用cmd.exe时,它将以提升的权限按预期方式启动,然后立即关闭。

我也尝试用以下命令调用它:

Start-Process "cmd.exe" -Credential $cred -ArgumentList '/k'
Run Code Online (Sandbox Code Playgroud)

这也不起作用。
我通过传递一个参数来测试提升的权限,如下所示,它可以正常工作。

Start-Process "cmd.exe" -Credential $cred -ArgumentList 'dir > dir.txt'
Run Code Online (Sandbox Code Playgroud)

这会将dir.txt文件写到C:\ Windows \ System32 \ WindowsPowerShell \ v1.0目录,该目录在用户帐户上被阻止,但对于管理员帐户测试则未被阻止。

非常感谢获得有关持久cmd窗口显示的任何帮助。

谢谢

powershell powershell-2.0 powershell-3.0 powershell-4.0

3
推荐指数
1
解决办法
9276
查看次数