取消提升PowerShell会话

时间:2018-12-11 15:42:16

标签: powershell uac

我有一个以Administrator身份运行的PowerShell脚本,它调用了另一个需要以 not 身份运行的脚本。我以前使用过Start-Process -FilePath "powershell.exe" -Verb runas进行提升,但是如何从已经以管理员身份运行的会话中“提升”呢?

我想避免使用this post这样的第三方工具,例如psexec。理想的情况是寻找内置的PS功能或PSSnapin。

需要此“未提升”会话的特定过程是看到管理员安装了驱动器。根据此article,UAC可能是罪魁祸首。建议的解决方案运行以下命令:  New-ItemProperty -Path HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System -Name EnableLinkedConnections -Value 1 -PropertyType DWord

但是,Get-PSDrive在提升的会话中运行时,驱动器仍然不显示。

1 个答案:

答案 0 :(得分:0)

您可以尝试使用内置runas.exe来解决“不安全”问题,例如此答案Batch file: Drop elevated privileges (run a command as original user)

runas /trustlevel:0x20000 "YourCommandHere"