Skip to content

Instantly share code, notes, and snippets.

@JeffWouters
Created June 8, 2023 11:36
Show Gist options
  • Select an option

  • Save JeffWouters/6bd1bc5a51ebe4b899df9b47fa73a8c6 to your computer and use it in GitHub Desktop.

Select an option

Save JeffWouters/6bd1bc5a51ebe4b899df9b47fa73a8c6 to your computer and use it in GitHub Desktop.
<#
.SYNOPSIS
Create local users
.DESCRIPTION
Create local users based on input
.EXAMPLE
New-INGUser -FirstName Pietje -LastName Puk -Gender M -Department IT
.EXAMPLE
New-INGUser Pietje Puk -Gender M -Department IT
.EXAMPLE
Import-CSV .\users.csv | ForEach-Object {
New-INGUser $_.FirstName $_.LastName -Gender $_.Gender -Department $_.Department
}
.EXAMPLE
Import-CSV .\users.csv | New-INGUser
#>
function New-INGUser {
param (
[parameter(
Mandatory = $true,
Position = 0,
ValueFromPipeline = $true,
ValueFromPipelineByPropertyName=$true
)]
[string]$FirstName,
[parameter(
Mandatory = $true,
Position = 1,
ValueFromPipeline = $true,
ValueFromPipelineByPropertyName=$true
)]
[string]$LastName,
[parameter(
ValueFromPipeline = $true,
ValueFromPipelineByPropertyName=$true
)]
[string]$Gender,
[parameter(
ValueFromPipeline = $true,
ValueFromPipelineByPropertyName=$true
)]
[string]$Department
)
begin {}
process {
$params = @{
Name = "$FirstName"
FullName = "$FirstName $LastName ($Gender)"
Description = "Account for $FirstName $LastName ($Gender)"
NoPassword = $true
Disabled = $true
UserMayNotChangePassword = $true
}
New-LocalUser @params
}
end {}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment