Skip to content

Commit 920612a

Browse files
committed
Improves fetching, resolving and filtering of user objects
Fixes #27
1 parent 8248cb1 commit 920612a

File tree

1 file changed

+33
-7
lines changed

1 file changed

+33
-7
lines changed

provider/users/Get-IcingaUsers.psm1

Lines changed: 33 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,40 @@ function Get-IcingaUsers()
44
[array]$Username
55
);
66

7-
if ($null -eq $Username) {
8-
return Get-LocalUser;
9-
} else {
10-
[array]$UserInformation = @();
11-
foreach ($UniqueUser in $Username) {
12-
$UserInformation += (Get-LocalUser -Name $UniqueUser);
7+
$UserData = Get-LocalUser;
8+
[array]$UserOutput = @();
9+
10+
foreach ($user in $UserData) {
11+
if ($Username.Count -ne 0) {
12+
if (-Not ($Username -Contains $user.Name)) {
13+
continue;
14+
}
15+
}
16+
17+
$UserOutput += @{
18+
'AccountExpires' = $user.AccountExpires;
19+
'Description' = $user.Description;
20+
'Enabled' = $user.Enabled;
21+
'FullName' = $user.FullName;
22+
'PasswordChangeableDate' = $user.PasswordChangeableDate;
23+
'PasswordExpires' = $user.PasswordExpires;
24+
'UserMayChangePassword' = $user.UserMayChangePassword;
25+
'PasswordRequired' = $user.PasswordRequired;
26+
'PasswordLastSet' = $user.PasswordLastSet;
27+
'LastLogon' = $user.LastLogon;
28+
'Name' = $user.Name;
29+
'SID' = @{
30+
'BinaryLength' = $user.SID.BinaryLength;
31+
'AccountDomainSid' = @{
32+
'BinaryLength' = $user.SID.AccountDomainSid.BinaryLength;
33+
'Value' = $user.SID.AccountDomainSid.Value;
34+
};
35+
'Value' = $user.SID.Value;
36+
};
37+
'PrincipalSource' = $user.PrincipalSource;
38+
'ObjectClass' = $user.ObjectClass;
1339
}
1440
}
1541

16-
return $UserInformation;
42+
return $UserOutput;
1743
}

0 commit comments

Comments
 (0)