如何在PowerShell提升模式下执行一组命令

6

我尝试以下方式以管理员身份执行命令。

PS>start-process powershell -verb runas $app = Get-AppxPackage -all| Where-Object{$_.Name-like "*$ReleaseName*"}

PS>start-process powershell -verb runas Remove-AppxPackage $app.PackageFullName

  • 第一次调用成功地打开并执行了命令,并关闭了管理员powershell实例。对于第二次调用,它需要$app信息,但该信息不可用,因为它再次打开一个新的PS管理员窗口。
  • 我无法在普通模式下执行Get-AppxPackage -all,因为-all只需要管理员模式。

尝试以下操作但没有成功。

PS>start-process powershell -verb runas 
{

$app = Get-AppxPackage | Where-Object{$_.Name-like "*$ReleaseName*"};

Remove-AppxPackage $app.PackageFullName

}

有人能给我建议如何在PowerShell提升模式下执行类似上面的一组指令吗?
提前感谢。
1个回答

5

显然的方式:

在“提升模式”下打开PowerShell控制台 -> 右键单击快捷方式/exe并单击以管理员身份运行。或在开始菜单中,键入PowerShell并按CTRL + SHIFT + ENTER。

然后运行来自此链接的命令。

或者,您可以将命令放在一个脚本(.ps1文件)中,并调用该脚本:

start-process powershell -verb runas -argument script.ps1

我还想提醒一下,在你的命令中,你不必将其存储在$app中,你可以使用类似以下的内容:

Get-AppxPackage -all| Where-Object{$_.Name-like "$ReleaseName"} | Remove-AppxPackage

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接