Skip to content

Commit 6eeac5f

Browse files
splatting example for ad users
1 parent 2c56435 commit 6eeac5f

File tree

2 files changed

+96
-0
lines changed

2 files changed

+96
-0
lines changed
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
<#
2+
.Synopsis
3+
.Description
4+
.Notes
5+
.Component
6+
.Parameter sAMAccountName
7+
Nimmt den sAMAccountName wenn zu Testzwecken nach einem bestimmten Benutzer gesucht werden soll
8+
#>
9+
10+
11+
param (
12+
#[Parameter(Mandatory = $true)]
13+
#[string]$sAMAccountName,
14+
[string[]]$Properties = @("cn", "GivenName", "sn", "PostalCode", "sAMAccountName")
15+
)
16+
17+
Import-Module ActiveDirectory
18+
19+
try {
20+
$ADUsers = Get-ADUser -Filter '*' -Properties $Properties
21+
foreach ($user in $ADUsers) {
22+
[hashtable]$result = @{} #Hashtable zur Verwendung mit Splatting in der ScriptRunner Action
23+
foreach ($prop in $Properties) {
24+
$null = $result.Add($prop, $user.Item($prop).Value)
25+
}
26+
if ($SRXEnv) {
27+
$null = $SRXEnv.ResultList.Add($result)
28+
$null = $SRXEnv.ResultList2.Add("$($user.cn)")
29+
}
30+
else {
31+
Write-Host "$($result)"
32+
}
33+
}
34+
}
35+
catch {
36+
throw
37+
}
38+
39+
<#try {
40+
$ADUser = Get-ADUser -Identity $sAMAccountName -Properties $Properties
41+
[hashtable]$result = @{} #Hashtable zur Verwendung mit Splatting in der ScriptRunner Action
42+
foreach ($prop in $Properties) {
43+
$null = $result.Add($prop, $ADUser.Item($prop).Value)
44+
}
45+
if ($SRXEnv) {
46+
$null = $SRXEnv.ResultList.Add($result)
47+
$null = $SRXEnv.ResultList2.Add("$($ADUser.cn)")
48+
}
49+
}
50+
catch {
51+
throw
52+
53+
}#>
54+
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
<#
2+
.Synopsis
3+
.Description
4+
.Notes
5+
.Component
6+
.Parameter UserIdentity
7+
Nimmt einen AD-Benutzer aus einer Query
8+
.Parameter PostalCode
9+
zeigt die PLZ eines AD-Benutzers
10+
.Parameter GivenName
11+
zeigt den Vornamen eines AD-Benutzers
12+
.Parameter sn
13+
zeigt den Nachnamen eines AD-Benutzers
14+
.Parameter streetAddress
15+
zeigt die Straße eines AD-Benutzers
16+
#>
17+
18+
19+
param (
20+
[Parameter(Mandatory = $true, HelpMessage = "ASRDisplay(Splatting)")] #Notwendig damit die Attribute der $UserIdentity im Script verwendet werden können
21+
[hashtable]$UserIdentity,
22+
[string]$PostalCode,
23+
[string]$GivenName,
24+
[string]$sn,
25+
[pscredential]$cred
26+
)
27+
28+
Import-Module ActiveDirectory
29+
30+
try {
31+
[hashtable]$Properties = @{
32+
'Identity' = $UserIdentity.sAMAccountName #Hier wird mittels Splatting der sAMAccountName aus dem Parameter (Hashtable) $UserIdentity verwendet
33+
'PostalCode' = $PostalCode
34+
'GivenName' = $GivenName
35+
'sn' = $sn
36+
}
37+
38+
Set-ADUser @Properties #Mittels Splatting werden die Attribute des AD Benutzers gesetzt
39+
}
40+
catch {
41+
throw
42+
}

0 commit comments

Comments
 (0)