gpt4 book ai didi

powershell - 如何使用/不使用PowerShell的提升特权来运行exe

转载 作者:行者123 更新时间:2023-12-04 02:06:00 24 4
gpt4 key购买 nike

我想要一种简单的方法来运行来自同一用户的具有不同特权的进程,而无需询问或知道他/她的密码。如有必要,可以进行对话。我宁愿不启动PowerShell子流程来完成此任务。

方案1:
PowerShell脚本在管理员模式下运行。我想在同一用户上启动没有管理员特权的脚本或.exe。

方案2:
PowerShell脚本在正常模式下运行。我想在同一用户上启动具有管理员权限的脚本或.exe。

最佳答案

让我们将其分为三个部分。

首先确定当前 session 是否以管理员权限运行:

$CurrentID = [System.Security.Principal.WindowsIdentity]::GetCurrent()
$CurrentPrincipal = new-object System.Security.Principal.WindowsPrincipal($CurrentID)
$adminRole = [System.Security.Principal.WindowsBuiltInRole]::Administrator

# Check to see if session is currently with admin privileges

if ($CurrentPrincipal.IsInRole($adminRole)) {
write-host "Yes we are running elevated."
}else{
write-host "No this is a normal user session."
}

现在,无论我们运行时是否具有提升权限,您都可以使用以下提升的特权来启动新进程:
$newProc = new-object System.Diagnostics.ProcessStartInfo "PowerShell"
# Specify what to run
$newProc.Arguments = "powershell.exe"
# If you set this, process will be elevated
$newProc.Verb = "runas"
[System.Diagnostics.Process]::Start($newProc)

最后,如果我们拥有更高的特权,但想在没有...的情况下启动新流程。

我不知道。将不得不尝试找到答案,但是由于这不是一个常见的情况,所以到目前为止我还没有运气。

编辑:我现在看到了此方案的几个“解决方案”。 .NET/PowerShell中没有本地方法可以做到这一点。有些非常复杂(调用一些12个COM对象)。该 vista-7-uac-how-to-lower-process-privileges是一个很好的引用。

对我来说似乎最优雅的一个漏洞是利用explorer.exe中的“错误”。
只需使用explorer.exe启动.exe,结果进程将再次运行而无需特权提升。
$newProc = new-object System.Diagnostics.ProcessStartInfo "PowerShell"
# Specify what to run, you need the full path after explorer.exe
$newProc.Arguments = "explorer.exe C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe"
[System.Diagnostics.Process]::Start($newProc)

编辑#2:我刚发现从已经升高的 环境中开始新的非升高的进程的另一种方法是,将runas.exe与0x20000(基本用户)信任级别结合使用:
C:\> runas /showtrustlevels
The following trust levels are available on your system:
0x20000 (Basic User)
C:\> runas /trustlevel:0x20000 devenv

enter image description here

关于powershell - 如何使用/不使用PowerShell的提升特权来运行exe,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29266622/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com