我有一个以管理员身份运行的 PowerShell 脚本,以及它调用的另一个不需要以管理员身份运行的脚本。我以前曾经Start-Process -FilePath "powershell.exe" -Verb runas
进行过提升,但是如何从已经以管理员身份运行的会话中“取消提升”?
psexec
我想避免像这篇文章使用的第三方工具。非常适合寻找内置 PS 功能或 PSSnapin。
需要此“未提升”会话的特定过程是查看管理员安装的驱动器。根据这篇文章, UAC 可能是罪魁祸首。建议的解决方案运行如下:
New-ItemProperty -Path HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System -Name EnableLinkedConnections -Value 1 -PropertyType DWord
Get-PSDrive
但是,在提升的会话中运行时,驱动器仍然不会显示。
您可以尝试使用内置的 runas.exe 进行“unelevation”,就像这个答案批处理文件一样:Dropleviedprivileges(以原始用户身份运行命令)
runas /trustlevel:0x20000 "YourCommandHere"
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2038 次 |
最近记录: |