powershell - 取消 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
但是,在提升的会话中运行时,驱动器仍然不显示。
解决方案
您可以尝试在此答案批处理文件中为“unelevation”使用内置 runas.exe :删除提升的权限(以原始用户身份运行命令)
runas /trustlevel:0x20000 "YourCommandHere"
推荐阅读
- xero-api - updateTenants 令牌刷新后不工作
- php - 获取最低键 - 多维数组PHP中的数组值
- atomic - 如果使用 Atomic,是否存在锁争用
- powershell - 如何更正 Power shell 中的 AD 脚本
- javascript - 在 POST 请求中以二进制形式发送 pdf(来自 Javascript)
- git - 如何忽略本地 git 更改但仍确保获得上游更改?
- javascript - 在力气泡图上添加/删除气泡的问题
- r - R中的查找表
- ios - Firebase 身份验证未按预期工作。用户正在登录主屏幕或注册页面
- r - 数据表 R:合并来自多个 data.table 的选定列