首页 > 解决方案 > 取消 PowerShell 会话

问题描述

我有一个以管理员身份运行的 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但是,在提升的会话中运行时,驱动器仍然不显示。

标签: powershelluac

解决方案


您可以尝试在此答案批处理文件中为“unelevation”使用内置 runas.exe :删除提升的权限(以原始用户身份运行命令)

runas /trustlevel:0x20000 "YourCommandHere"

推荐阅读