Adicionando um usuário ao grupo Administrador local usando o powershell

12

Eu gostaria de usar o PowerShell para adicionar um usuário específico ao grupo de administradores locais em uma máquina. Eu estaria executando o script do PowerShell no contexto de um usuário que tenha direitos de administração na máquina local.

    
por Rihan Meij 08.03.2010 / 05:44

4 respostas

4

Esta é a função avançada que eu uso para adicionar usuários ao grupo de administradores locais usando o Powershell em vários computadores.

Uso: 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
    
por 14.04.2010 / 18:36
15

Aqui está um script simples de 2 linhas que executa esta função

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

Para mais informações, consulte Ei, Equipe de Scripts! Como posso usar o Windows PowerShell para adicionar um usuário de domínio a um grupo local?

Então, há algumas notas. Na primeira linha eu usei concatenação de strings, eu não precisei (veja a próxima linha) mas eu gosto porque isso ajuda a acentuar as variáveis que estou usando. Em segundo lugar, essas linhas adicionarão um usuário do domínio. Se você quiser adicionar um usuário local, basta remover $env:USERDOMAIN/

    
por 08.03.2010 / 18:44
13

No servidor 2016 e no Windows 10 versão 1607 e posterior, você pode usar os novos cmdlets do usuário local do PowerShell:

Add-LocalGroupMember -Group Administrators -Member username

Isso foi adicionado no Windows Management Framework (WMF) 5.1.

O módulo Microsoft.PowerShell.LocalAccounts funciona bem no 2012 R2 se você acabou de copiar os arquivos em um local $env:PsModulePath .

    
por 08.07.2016 / 12:29
0

Aqui está outra maneira de fazer isso. Isso precisa ser executado no contexto do Administrador:

$domain=""
$computername= "$env:computername"
$group=$computer.psbase.children.find("administrators")

function AddToGroup($number)
{
     $group.add("WinNT://"+$domain+"/"+$number )
}

#Add these domain users/groups to the local administrator group
 AddToGroup ""
 AddToGroup ""

#Add these domain computer accounts to the local administrator group. 
#Computer accounts always end with $.
AddToGroup "$"

Mais informações sobre meu site .

    
por 20.09.2013 / 14:35