github.com/cloudfoundry-incubator/stembuild@v0.0.0-20211223202937-5b61d62226c6/modules/BOSH.Account/BOSH.Account.psm1 (about) 1 <# 2 .Synopsis 3 Add Windows user 4 .Description 5 This cmdlet adds a Windows user 6 #> 7 function Add-Account { 8 Param( 9 [string]$User = $(Throw "Provide a user name"), 10 [string]$Password = $(Throw "Provide a password") 11 ) 12 Write-Log "Add-Account" 13 14 Write-Log "Creating new local user $User." 15 & NET USER $User $Password /add /y /expires:never 16 17 $Group = "Administrators" 18 19 Write-Log "Adding local user $User to $Group." 20 $adsi = [ADSI]"WinNT://$env:COMPUTERNAME" 21 Write-Log $adsi 22 $AdminGroup = $adsi.Children | where {$_.SchemaClassName -eq 'group' -and $_.Name -eq $Group } 23 Write-Log $AdminGroup 24 $UserObject = $adsi.Children | where {$_.SchemaClassName -eq 'user' -and $_.Name -eq $User } 25 Write-Log $UserObject 26 $AdminGroup.Add($UserObject.Path) 27 Write-Log "Completed adding $User to $Group" 28 } 29 30 <# 31 .Synopsis 32 Remove Windows user 33 .Description 34 This cmdlet removes a Windows user 35 #> 36 function Remove-Account { 37 Param( 38 [string]$User = $(Throw "Provide a user name") 39 ) 40 Write-Log "Remove-Account" 41 Write-Log "Removing local user $User." 42 $adsi = [ADSI]"WinNT://$env:COMPUTERNAME" 43 $adsi.Delete('User', $User) 44 Move-Item -Path "C:\Users\$User" -Destination "$env:windir\Temp\$User" -Force -ErrorAction Ignore 45 }