簡體   English   中英

如何從提升的 PowerShell 控制台以非管理員身份運行進程?

[英]How to run a process as non-admin from an elevated PowerShell console?

也許有一種方法可以使用我找不到的Start-Process cmdlet 來完成? 我在 StackOverflow 上發現的其他相關問答,例如thisthisthis都提供了使用自定義 C# 代碼執行此操作的解決方案。 我的問題是,在 PowerShell 中是否有任何直接的方法可以做到這一點? 即您在一個提升的 PS 控制台中並且想要以非管理員身份運行一個進程。

您可以使用runas.exe指定TrustLevel ,有效地運行“受限”

runas /trustlevel:0x20000 "powershell.exe -command 'whoami /groups |clip'"

您應該在whoami的輸出中看到您令牌中的Administrators組被標記為“僅用於拒絕”


在此處輸入圖片說明

當您深入研究此問題時,如鏈接任務所述,無法從提升的進程運行 UAC“非”提升的進程。 由於這正是我所需要的,並且 runas 解決方案對我不起作用,因此我將 Microsoft 提供的代碼解決方法轉換為使用計划任務來啟動“非”提升進程。

從提升的 powershell 提示符將 powershell.exe 作為“非”提升進程運行的示例:

$apppath = "powershell.exe"
$taskname = "Launch $apppath"
$action = New-ScheduledTaskAction -Execute $apppath
$trigger = New-ScheduledTaskTrigger -Once -At (Get-Date)
Register-ScheduledTask -Action $action -Trigger $trigger -TaskName $taskname | Out-Null
Start-ScheduledTask -TaskName $taskname
Start-Sleep -s 1
Unregister-ScheduledTask -TaskName $taskname -Confirm:$false

上述 powershell 命令僅適用於 Windows Server 2012 / Windows 8 及更高版本。

或者您可以使用SCHTASKS.EXE應用程序來覆蓋大多數版本的 Windows:

$apppath = "powershell.exe"
$taskname = "Launch $apppath"
schtasks /create /SC ONCE /ST 23:59 /TN $taskname /TR $apppath
schtasks /run /tn $taskname
Start-Sleep -s 1
schtasks /delete /tn $taskname /F

您可以通過傳入您要作為其運行的用戶的憑據,從提升的會話中運行非管理員進程。 如果您想以交互方式運行,您可以使用Get-Credential如果您希望腳本在無人參與的情況下運行,您可以使用Import-ClixmlSecretStore或其他一些已建立的機制來存儲和檢索憑證。 例如:

$credential = Get-Credential -UserName $Env:USERNAME
# or
$credential = Import-Clixml -Path 'C:\MyCredential.cred'

Start-Process -FilePath pwsh.exe -ArgumentList '-noprofile' -Credential $credential -Wait

另一種有限的方式:讓 Windows 資源管理器為您啟動它

PS C:\> explorer.exe "C:\windows\system32\cmd.exe"

只需使用完整路徑和擴展名。 它不接受參數。

我嘗試創建一個批處理文件。 但是資源管理器拒絕啟動.BAT.CMD

start-process存在開關runas類的

start-process powershell -verb runAs

但仍然 uac 檢查你是否在你的系統 uac 上你應該首先繞過uac有很多方法可以繞過 uac 但如果你為運行進程編寫腳本然后編譯為 exe你可以使用像runasadmin這樣的程序在系統中以管理員身份運行您的 exe,但仍然無法在 Windows 8 中工作

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM