View difference between Paste ID: TtFEgH9x and jFUvKDYr
SHOW: | | - or go back to the newest paste.
1
$propADComputers = Get-ADComputer -Filter * -SearchBase "Whatever you want" 
2
$name = Read-Host -AsSecureString "Enter the name of the non-built in admin you would like if required:"
3
$password = Read-Host -AsSecureString "Enter the password of the non-built in admin account you would like if required:"
4
foreach ($c in $propADComputers | Select-Object -ExpandProperty "Name")
5
{
6
       
7
    try{
8
        
9
        #Start remote PSSession to PC
10
        Write-Host "Attempting to enter PSSession for $c..."
11
        Enter-PSSession $c
12
        Write-Host "Success!"
13
        
14
        #Local Built-In Admin Account & account information
15
        Write-Host "Fetching built-in admin account..."
16
        $builtinAdmin = Invoke-Command -ComputerName $c -ScriptBlock {Get-LocalUser | ? {$_.SID -like "*-500"}}
17
        $name = ($builtinAdmin | Select-Object -ExpandProperty "Name").ToLower()
18
        $isEnabled = $builtinAdmin | Select-Object -ExpandProperty "Enabled"
19
        
20
        if($name -contains "$name"){
21
            "Built-in account name is $name...let's change it"
22
            Invoke-Command -ComputerName $c -ScriptBlock {(Rename-LocalUser -Name $using:name -NewName "Administrator")
23
        }
24
        if ($isEnabled -eq $True){
25
            "Built-in account is enabled...let's disable it."
26
            #Need to run it again to get the new name
27
            $builtinAdmin = Invoke-Command -ComputerName $c -ScriptBlock {Get-LocalUser | ? {$_.SID -like "*-500"}}
28
            Invoke-Command -ComputerName $c -ScriptBlock {Disable-LocalUser -Name $Using:builtinAdmin | Select-Object -ExpandProperty "Name"}
29
        }
30
        Write-Host "Creating non built-in admin account..."
31
        Invoke-Command -ComputerName $c -ScriptBlock {
32
            (New-LocalUser -Name $Using:name -Password $Using:password -PasswordNeverExpires), (Add-LocalGroupMember -Group "Administrators" -Member $Using:name) 
33
        }
34
    }       
35
        Exit-PSSession
36
    }
37
    catch{
38
        Write-Host "Unable to enter PSSession to $c"
39
    }
40
}
41
        
42
43