Powershell Variable User Liste
Guten Tag,
ich möchte mir für manche wiederkehrenden aufgaben ein Skript basteln. Die befehle hierfür funktionieren doch ich möchte nicht immer jeden User einfügen daher hatte ich die Idee eine "User Liste" als Variable zu haben das bekomme ich aber nicht hin hat jemand eine Idee?
Vorher:
Meine Idee:
ich möchte mir für manche wiederkehrenden aufgaben ein Skript basteln. Die befehle hierfür funktionieren doch ich möchte nicht immer jeden User einfügen daher hatte ich die Idee eine "User Liste" als Variable zu haben das bekomme ich aber nicht hin hat jemand eine Idee?
Vorher:
Set-ADUser -Identity admin1 -AccountNotDelegated $true
Set-ADUser -Identity admin2 -AccountNotDelegated $true
Set-ADUser -Identity admin3 -AccountNotDelegated $true
Meine Idee:
##Variable
$admins="admin1;Admin2;Admin3"
Set-ADUser $admins -AccountNotDelegated $true
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 7065800214
Url: https://administrator.de/forum/powershell-variable-user-liste-7065800214.html
Ausgedruckt am: 16.05.2025 um 11:05 Uhr
4 Kommentare
Neuester Kommentar

Hi,
Oder mit den Accounts in einer Textdate (1 pro Zeile):
-Thomas
$admins="admin1;Admin2;Admin3"
$admins -split ";" | Foreach-Object{
Set-ADUser $_ -AccountNotDelegated $true
}
Oder mit den Accounts in einer Textdate (1 pro Zeile):
Get-Content "c:\admins.txt" | Foreach-Object{
Set-ADUser $_ -AccountNotDelegated $true
}
-Thomas
Hallo,
geht so nicht. Da du immer einen User angeben musst.
Hier ist es etwas anders dargestellt:
Warum geht das? Man sucht viele User - Name LIKE 'xyz', ABER dann wird pro "Eintrag" Set-ADUser ausgeführt.
Admin1..3 könntest du also durchaus so machen, wenn du nach diesen Nameskonstrukt suchst.
Ansonsten den Array mit ForEach durchlaufen lassen:
geht so nicht. Da du immer einen User angeben musst.
Hier ist es etwas anders dargestellt:
Get-ADUser -Filter 'Name -like "*"' -SearchBase 'OU=HumanResources,OU=UserAccounts,DC=FABRIKAM,DC=COM' -Properties DisplayName | % {Set-ADUser $_ -DisplayName ($_.Surname + ' ' + $_.GivenName)}
Warum geht das? Man sucht viele User - Name LIKE 'xyz', ABER dann wird pro "Eintrag" Set-ADUser ausgeführt.
Admin1..3 könntest du also durchaus so machen, wenn du nach diesen Nameskonstrukt suchst.
Ansonsten den Array mit ForEach durchlaufen lassen:
$admins = @('Admin1','Admin2','Admin3','Admin4')
foreach($a in $admins) {
Set-ADUser -Identity $a -AccountNotDelegated $true
}