$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,$_ }
March 29, 2019March 29, 2019
0 Comments