我如何知道给定用户是否在 window server 2012 计算机中拥有管理员帐户?
How can I know if a given user has an admin account in a window server 2012 machine?
我需要 运行 一个 Jenkins 作业,该作业将在主机上的从机上执行。该作业包括 运行 在已登录的从机上执行一些 powershell 脚本。
我正在使用一个帐户从 master 登录到 slave,我想这没有管理员权限,因为当 运行 作为机器管理员时脚本的行为与 运行 在本地就可以了。
如何才能真正确认提供给我的用户是否具有管理员权限?
在 PowerShell 4.0 及更新版本中,如果当前用户未提升权限,您可以在脚本顶部使用 #Requires -RunAsAdministrator
注释来阻止脚本 运行。对于早期的 PowerShell 版本,如果当前用户未使用代码提升权限,您可以终止脚本。例如:
$elevated = ([Security.Principal.WindowsPrincipal] `
[Security.Principal.WindowsIdentity]::GetCurrent()
).IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator)
if ( -not $elevated ) {
throw "This script must be run elevated (Run as administrator)."
}
我需要 运行 一个 Jenkins 作业,该作业将在主机上的从机上执行。该作业包括 运行 在已登录的从机上执行一些 powershell 脚本。 我正在使用一个帐户从 master 登录到 slave,我想这没有管理员权限,因为当 运行 作为机器管理员时脚本的行为与 运行 在本地就可以了。
如何才能真正确认提供给我的用户是否具有管理员权限?
在 PowerShell 4.0 及更新版本中,如果当前用户未提升权限,您可以在脚本顶部使用 #Requires -RunAsAdministrator
注释来阻止脚本 运行。对于早期的 PowerShell 版本,如果当前用户未使用代码提升权限,您可以终止脚本。例如:
$elevated = ([Security.Principal.WindowsPrincipal] `
[Security.Principal.WindowsIdentity]::GetCurrent()
).IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator)
if ( -not $elevated ) {
throw "This script must be run elevated (Run as administrator)."
}