@@ -11,45 +11,46 @@ Function Show-UserSID {
11
11
12
12
. EXAMPLE
13
13
"your_user" | Show-UserSID
14
- Show-UserSID -UserName "your_user " -OutputFormat List
14
+ Show-UserSID -UserName "user1", "user2 " -OutputFormat List
15
15
16
16
. NOTES
17
- v0.0.3
17
+ v0.0.4
18
18
#>
19
19
[CmdletBinding ()]
20
20
param (
21
- [Parameter (Mandatory = $true , Position = 0 , ValueFromPipeline = $true , HelpMessage = " Specify the user name " )]
21
+ [Parameter (Mandatory = $true , Position = 0 , ValueFromPipeline = $true , HelpMessage = " Specify the user names " )]
22
22
[ValidateNotNullOrEmpty ()]
23
23
[Alias (" u" )]
24
- [string ]$UserName ,
24
+ [string [] ]$UserName ,
25
25
26
- [Parameter (Mandatory = $false , Position = 1 , HelpMessage = " Specify the output format. Options: 'Table' (default), 'List', 'JSON'" )]
26
+ [Parameter (Position = 1 , HelpMessage = " Specify the output format. Options: 'Table' (default), 'List', 'JSON'" )]
27
27
[ValidateSet (" Table" , " List" , " JSON" )]
28
28
[string ]$OutputFormat = " Table"
29
29
)
30
30
PROCESS {
31
- try {
32
- $NTAccount = New-Object System.Security.Principal.NTAccount($UserName )
33
- $UserSID = $NTAccount.Translate ([System.Security.Principal.SecurityIdentifier ]).Value
34
- $Result = [PSCustomObject ]@ {
35
- UserName = $UserName
36
- SID = $UserSID
37
- }
38
- switch ($OutputFormat ) {
39
- " List" {
40
- Write-Output $Result.PSObject.Properties | ForEach-Object { " $ ( $_.Name ) : $ ( $_.Value ) " }
41
- }
42
- " JSON" {
43
- $Result | ConvertTo-Json
31
+ foreach ($User in $UserName ) {
32
+ try {
33
+ $NTAccount = New-Object System.Security.Principal.NTAccount($User )
34
+ $UserSID = $NTAccount.Translate ([System.Security.Principal.SecurityIdentifier ]).Value
35
+ $Result = [PSCustomObject ]@ {
36
+ UserName = $User
37
+ SID = $UserSID
44
38
}
45
- default {
46
- Write-Output $Result | Format-Table - AutoSize
39
+ switch ($OutputFormat ) {
40
+ " List" {
41
+ Write-Output $Result.PSObject.Properties | ForEach-Object { " $ ( $_.Name ) : $ ( $_.Value ) " }
42
+ }
43
+ " JSON" {
44
+ $Result | ConvertTo-Json
45
+ }
46
+ default {
47
+ Write-Output $Result | Format-Table - AutoSize
48
+ }
47
49
}
48
50
}
49
- }
50
- catch {
51
- Write-Error - Message " Failed to get SID for user '$UserName '. $_ "
52
- return $null
51
+ catch {
52
+ Write-Error - Message " Failed to get SID for user '$User '. $_ "
53
+ }
53
54
}
54
55
}
55
56
}
0 commit comments