使用 powershell 将用户添加到本地管理员组

Rih*_*eij 19 automation windows powershell

我想使用 PowerShell 将特定用户添加到机器上的本地管理员组。我将在本地计算机上具有管理权限的用户的上下文中运行 PowerShell 脚本。

Pet*_*orf 31

在 Server 2016 和 Windows 10 版本 1607 及更高版本上,您可以使用新的 PowerShell 本地用户 cmdlet:

Add-LocalGroupMember -Group Administrators -Member username
Run Code Online (Sandbox Code Playgroud)

这是在 Windows 管理框架 (WMF) 5.1 中添加的。

Microsoft.PowerShell.LocalAccounts如果您只是将文件复制到某个$env:PsModulePath位置,则该模块在 2012 R2 上运行良好。


Jim*_*m B 16

这是一个执行此功能的简单 2 行脚本

$group = [ADSI]("WinNT://"+$env:COMPUTERNAME+"/administrators,group")
$group.add("WinNT://$env:USERDOMAIN/usernameiwantoadd,user")
Run Code Online (Sandbox Code Playgroud)

有关更多信息,请参阅您好,脚本专家!如何使用Windows PowerShell将域用户添加到本地组?

所以有几个注意事项。在我使用字符串连接的第一行中,我没有必要(请参阅下一行)但我喜欢这样做,因为它有助于突出我正在使用的变量。其次,这些行会添加一个域用户,如果你想添加一个本地用户只需删除$env:USERDOMAIN/


小智 6

这是我用来在多台计算机上使用 Powershell 将用户添加到本地管理员组的高级功能。

用法:Get-Content C:\Computers.txt | Set-LocalAdminGroupMembership -Account 'YourAccount'


Function Global:Set-LocalAdminGroupMembership
{


    <#
    .Synopsis

    .Description

    .Parameter $ComputerName,

    .Example
     PS> Set-LocalAdminGroupMembership -ComputerName $ComputerName -Account 'YourAccount'

    .Link
     about_functions
     about_functions_advanced
     about_functions_advanced_methods
     about_functions_advanced_parameters

    .Notes
     NAME:      Set-LocalAdminGroupMembership
     AUTHOR:    Innotask.com\dmiller
     LASTEDIT:  2/4/2010 2:30:05 PM
     #Requires -Version 2.0
    #>



    [CmdletBinding()]
    param(
    [Parameter(Position=0, ValueFromPipeline=$true)]
    $ComputerName = '.',
    [Parameter(Position=1, Mandatory=$true)]
    $Account
    )


    Process
    {  

        if($ComputerName -eq '.'){$ComputerName = (get-WmiObject win32_computersystem).Name}    
        $ComputerName = $ComputerName.ToUpper()


        $Domain = $env:USERDNSDOMAIN

        if($Domain){
            $adsi = [ADSI]"WinNT://$ComputerName/administrators,group"
            $adsi.add("WinNT://$Domain/$Account,group")
            }else{
            Write-Host "Not connected to a domain." -foregroundcolor "red"
            }


    }# Process


}# Set-LocalAdminGroupMembership
Run Code Online (Sandbox Code Playgroud)