首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何向powershell脚本请求管理员权限

如何向powershell脚本请求管理员权限
EN

Stack Overflow用户
提问于 2020-08-10 15:14:18
回答 2查看 2.4K关注 0票数 2

如何使用powershell脚本来请求用户的管理员权限?打开模式并接受或输入管理密码。有可能吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-08-10 17:04:55

我已经写了一个小片段,把它添加到脚本的开头。

代码语言:javascript
运行
复制
if(!([Security.Principal.WindowsPrincipal] [Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole] 'Administrator')) {
 Start-Process -FilePath PowerShell.exe -Verb Runas -ArgumentList "-File `"$($MyInvocation.MyCommand.Path)`"  `"$($MyInvocation.MyCommand.UnboundArguments)`""
 Exit
}
}

这将检查脚本是否具有提升的权限,如果没有,则将显示UAC对话框(如果启用了安全桌面,则使用模式对话框)来要求管理员凭据自动提升。

票数 6
EN

Stack Overflow用户

发布于 2020-08-10 15:20:13

Duplicate

您应该检查是否不是admin,并运行新的进程(可能使用相同的args),但是使用RunAs (意思是RequireElevation )标志。请注意,如果UAC被降低或禁用,这可能根本不起作用。

start-process powershell –verb runAs (您可以传递其他属性,如$PSCommandPath)

备注:

  • 您不能提升当前进程的
  • ,您不能(仅使用powershell )运行进程,即使您的管理凭据存储在变量中。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63342982

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档