我有一个以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
在提升的会话中运行时,驱动器仍然不显示。
答案 0 :(得分:0)
您可以尝试使用内置runas.exe来解决“不安全”问题,例如此答案Batch file: Drop elevated privileges (run a command as original user)
runas /trustlevel:0x20000 "YourCommandHere"