2026-05-08 21:19:52 +02:00
|
|
|
function Test-TargetUserName {
|
|
|
|
|
param(
|
|
|
|
|
[AllowNull()]
|
|
|
|
|
[AllowEmptyString()]
|
|
|
|
|
[string]$UserName
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
$normalizedUserName = if ($null -ne $UserName) { $UserName.Trim() } else { '' }
|
|
|
|
|
|
|
|
|
|
if ([string]::IsNullOrWhiteSpace($normalizedUserName)) {
|
|
|
|
|
return [PSCustomObject]@{
|
|
|
|
|
IsValid = $false
|
|
|
|
|
UserName = $normalizedUserName
|
|
|
|
|
Message = 'Please enter a username'
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2026-07-08 23:18:04 +02:00
|
|
|
if (Test-UserNameMatch -UserNameA $normalizedUserName -UserNameB $env:USERNAME) {
|
2026-05-08 21:19:52 +02:00
|
|
|
return [PSCustomObject]@{
|
|
|
|
|
IsValid = $false
|
|
|
|
|
UserName = $normalizedUserName
|
|
|
|
|
Message = "Cannot enter your own username, use 'Current User' option instead"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (-not (CheckIfUserExists -userName $normalizedUserName)) {
|
|
|
|
|
return [PSCustomObject]@{
|
|
|
|
|
IsValid = $false
|
|
|
|
|
UserName = $normalizedUserName
|
|
|
|
|
Message = 'User not found, please enter a valid username'
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return [PSCustomObject]@{
|
|
|
|
|
IsValid = $true
|
|
|
|
|
UserName = $normalizedUserName
|
|
|
|
|
Message = "User found: $normalizedUserName"
|
|
|
|
|
}
|
|
|
|
|
}
|