ChamplainTechJournals/automation-sys320/week06/Users.ps1
2025-04-19 23:42:08 -04:00

81 lines
No EOL
1.7 KiB
PowerShell

<# ******************************
# Create a function that returns a list of NAMEs AND SIDs only for enabled users
****************************** #>
function getEnabledUsers(){
$enabledUsers = Get-LocalUser | Where-Object { $_.Enabled -ilike "True" } | Select-Object Name, SID
return $enabledUsers
}
function checkuser($name){
$users = Get-LocalUser | Where-Object { $_.name -ilike $name }
if($users.Count -lt 1){ return $false}
else { return $true }
}
#checkuser("champuser2")
<# ******************************
# Create a function that returns a list of NAMEs AND SIDs only for not enabled users
****************************** #>
function getNotEnabledUsers(){
$notEnabledUsers = Get-LocalUser | Where-Object { $_.Enabled -ilike "False" } | Select-Object Name, SID
return $notEnabledUsers
}
<# ******************************
# Create a function that adds a user
****************************** #>
function createAUser($name, $password){
$params = @{
Name = $name
Password = $password
}
$newUser = New-LocalUser @params
# ***** Policies ******
# User should be forced to change password
Set-LocalUser $newUser -PasswordNeverExpires $false
# First time created users should be disabled
Disable-LocalUser $newUser
}
function removeAUser($name){
$userToBeDeleted = Get-LocalUser | Where-Object { $_.name -ilike $name }
Remove-LocalUser $userToBeDeleted
}
function disableAUser($name){
$userToBeDeleted = Get-LocalUser | Where-Object { $_.name -ilike $name }
Disable-LocalUser $userToBeDeleted
}
function enableAUser($name){
$userToBeEnabled = Get-LocalUser | Where-Object { $_.name -ilike $name }
Enable-LocalUser $userToBeEnabled
}