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: Remove IP Address Assignment Using Bluecat API

$bluecatUri='http://bluecat.kimconnect.com/Services/API' $bluecatUsername='svc-bluecat-api' $bluecatPassword='PASSWORD' $configId=17 $ipv4Address='10.10.162.54' $marker='toBeDeleted-' function confirmation($content,$testValue="I confirm",$maxAttempts=3){ $confirmed=$false; $attempts=0; $content|write-host write-host "Please review…

PowerShell: Set Virtual Machine Default Paths on Hyper-V Host of a Cluster

$newVirtualMachinePath='D:\VirtualMachines' $newVirtualHardDiskPath='D:\VirtualMachines' function getHyperVHostsInForest{ function includeRSAT{ $ErrorActionPreference='stop' [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 #$rsatWindows7x32='https://download.microsoft.com/download/4/F/7/4F71806A-1C56-4EF2-9B4F-9870C4CFD2EE/Windows6.1-KB958830-x86-RefreshPkg.msu' $rsatWindows7x64='https://download.microsoft.com/download/4/F/7/4F71806A-1C56-4EF2-9B4F-9870C4CFD2EE/Windows6.1-KB958830-x64-RefreshPkg.msu' $rsatWindows81='https://download.microsoft.com/download/1/8/E/18EA4843-C596-4542-9236-DE46F780806E/Windows8.1-KB2693643-x64.msu' $rsat1709 =…

Resolving Active Directory Replication Issues

In Windows Active Directory 2008+ mode, Distributed File System Replication  (DFSR) succeeds the legacy File…
Other project: DragonCoin.com