下面是我用于将用户添加到本地管理员组的代码片段,该组在 2016 年之前适用于旧版本的 PowerShell for Windows Servers。代码示例将用于自定义 IIS AppPool 身份的服务帐户添加到本地管理员组。
$appPoolIdentity = "DOMAIN\svc-acc-name"
# check if user is already member of the local administrators group - using case insensitive string comparison
if(((invoke-command {net localgroup administrators}) -match ($appPoolIdentity -replace '\\','\\')).Count -eq 0){
Write-Host "The app pool identity user '$appPoolIdentity' is not found in the local 'Administrators' group."
# add user to the local administrators group
$adminGroup = [ADSI]("WinNT://$env:COMPUTERNAME/administrators,group")
$adminGroup.Add("WinNT://$appPoolIdentity,user")
Write-Warning "Added '$appPoolIdentity' to the local 'Administrators' group."
}else{
Write-Host "The app pool identity user '$appPoolIdentity' is already member of local 'Administrators' group."
}
在上面的 if 语句中使用的功劳net localgroup administrators转到这篇博文。
在 Server 2016 和 Windows 10 版本 1607 及更高版本上,您可以使用新的 PowerShell 本地用户 cmdlet:
这是在 Windows Management Framework (WMF) 5.1 中添加的。
Microsoft.PowerShell.LocalAccounts
如果您只是将文件复制到某个$env:PsModulePath
位置,该模块在 2012 R2 上运行良好。这是一个执行此功能的简单 2 行脚本
有关详细信息,请参阅嘿,脚本专家!如何使用 Windows PowerShell 将域用户添加到本地组?
所以有几个注释。在第一行中,我使用了字符串连接,我不必这样做(见下一行),但我喜欢这样做,因为它有助于突出我正在使用的变量。其次,这些行将添加一个域用户,如果你想添加一个本地用户只需删除
$env:USERDOMAIN/
这是我用来在多台计算机上使用 Powershell 将用户添加到本地管理员组的高级功能。
用法:获取内容 C:\Computers.txt | 设置-LocalAdminGroupMembership -Account 'YourAccount'
将域用户添加到管理员组的简单步骤:
注意:确保以“管理员身份”运行 PowerShell。
这是另一种方法。这需要在管理员上下文中运行:
更多信息在我的网站上。
下面是我用于将用户添加到本地管理员组的代码片段,该组在 2016 年之前适用于旧版本的 PowerShell for Windows Servers。代码示例将用于自定义 IIS AppPool 身份的服务帐户添加到本地管理员组。
在上面的 if 语句中使用的功劳
net localgroup administrators
转到这篇博文。