Posted On March 29, 2019

Add a Domain Group to Local Administrators Group

kimconnect 0 comments
blog.KimConnect.com >> Codes , Windows >> Add a Domain Group to Local Administrators Group
$checkGroup="Administrators"
$addMember="KIMCONNECT\Desktop Admins"

# Dynamic Credential
$who = whoami
	if ($who.substring($who.length-2, 2) -eq "-admin"){$username=$who;}
    else {$username=$who+"-admin";}
$password = Read-Host -Prompt "Input the password for account $username" -AsSecureString
#$password=convertto-securestring "PASSWORD" -AsPlainText -Force
$cred = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $username,$password

$servers=Read-Host -Prompt 'Please copy/paste servers list'
$servers= $servers -split '\r\n'
#$servers="localhost"

$servers | foreach {
    Invoke-command -Credential $cred -ComputerName $_ -ScriptBlock {
        
        Import-Module ActiveDirectory
        
        $person=$Args[0]
        $add=$Args[1]
        $targetGroup=$Args[2]
        $computer=$Args[3]
        "Invoked from $person and Running as: "+ (whoami)+" on target: "+(hostname)+"`n"
        
        $members=Get-LocalGroupMember -Name $targetGroup
        #$members = Get-ADGroupMember -Identity $Args[2] -Recursive | Select -ExpandProperty Name
        #net localgroup [string]$tGroup | select -Skip 6 | select -SkipLast 2
        #$groupMembers=(net localgroup $Args[2] | select -Skip 6 | select -SkipLast 2)
     
        if ($members.Name -contains $add){"$computer`: $add already exists in group $targetGroup`n";}
        else{
            "$Args[1] is not a member of group $targetGroup. It is now being added...`n"
            NET USER $add /ADD /Y
            NET LOCALGROUP $targetGroup $add /ADD /Y
            $members=Get-LocalGroupMember -Name $targetGroup
            }
        "$computer`: Group $targetGroup now has these members..."
        $members.Name

        # These lines only work in PowerShell 5.1
        #New-LocalUser $Args[1] -Password $Args[2] -FullName $Args[3] -Description $Args[4]
        #Add-LocalGroupMember -Group $Args[5] -Member $Args[1]
        
    } -Args $who,$addMember,$checkGroup,$_
}

Leave a Reply

Your email address will not be published. Required fields are marked *

Related Post

PowerShell: Converting Time Stamp from Int64 to DateTime and Vice Versa

Here are some quick conversion methods between time values represented by Integer and DateTime data…

Java Virtual Machine Optimal Memory Tuning

Overview: There are five available garbage collectors (GC) for Java Virtual Machines (JVM). Here are…

PowerShell: Enable CredSSP on Windows

PowerShell: # Enabled WinRMEnable-PSRemoting -Force# Enable CredSSPEnable-WSManCredSSP -Role Server -Force Legacy Command Line: # Enable…
Other project: DragonCoin.com