Benutzer mit den meisten Antworten
Frage zu einer ForEach-Abfrage - bitte um Auskunft

Frage
-
Hallo Leute,
habe vor kurzem, da ich selbst noch am Lernen mit Powershell bin, testweise ein Script erstellt, wo mit ich anhand einer Csv alle betroffenen User importiere und dann bei jedem User das Passwort auf ein Initialkennwort zurücksetze.
# Password Reset $users = Import-Csv -Path .\Logon.csv foreach ($User in $users) { $Identity=$User.Logon Set-ADAccountPassword -Identity $Identity -Reset -NewPassword (ConvertTo-SecureString -AsPlainText "passwort" -Force) }
Ich dachte am Anfang jedoch, dass ich die "Tabelle" im Csv-File einfach Logon benenne und dies dann einfach mit einer Pipe + statt $Identity mit $_.Logon lösen kann.
Nach kurzer Suche, da ja das doch nicht so leicht funktionierte, wurde ich dann fündig und habe mein Script korrigiert.
Jedoch erscheint mir die ($User in $Users) in der Foreach-Abfrage nicht als logisch.
Noch weniger das $User.Logon, könnte mir bitte jemand die Funktionsweise von "($User in $Users)" und "$User.Logon" erklären, oder, falls dies schlecht gelöst ist, bitte mich aufklären.
Danke im Vorraus!
Antworten
-
Schau mal in diesen Thread der letzte Post ;-))
http://social.technet.microsoft.com/Forums/de-DE/powershell_de/thread/e5d04f2e-aa63-4f57-b518-733fd32a77bcPlease click “Mark as Answer” if my post answers your question and click “Vote As Helpful” if my Post helps you.
Bitte markiere hilfreiche Beiträge von mir als “Als Hilfreich bewerten” und Beiträge die deine Frage ganz oder teilweise beantwortet haben als “Als Antwort markieren”.
My PowerShell Blog http://www.admin-source.info
[string](0..21|%{[char][int]([int]("{0:d}" -f 0x28)+('755964655967-86965747271757624-8796158066061').substring(($_*2),2))})-replace' '
German ? Come to German PowerShell Forum!- Als Antwort vorgeschlagen Alex Pitulice Donnerstag, 16. Mai 2013 08:04
- Als Antwort markiert maybe_ Donnerstag, 16. Mai 2013 21:16
-
Hallo,
ich versuche es nun mal recht einfach zu erklären.
$users ist ja eine Liste (oder auch Array) aus vielen Objekten. Über die foreach Schleife nimmst du nun jedes Objekt "einzeln" heraus. Das einzelene Objekt ist dann in der Variable $user.
Über die $User.Logon greift du nun auf die Eigenschaft (Property) mit dem Namen "Logon" eines solchen User Objekts zu.
Gruß Malte
- Bearbeitet Malte Brodersen Mittwoch, 15. Mai 2013 11:53
- Als Antwort vorgeschlagen Alex Pitulice Donnerstag, 16. Mai 2013 08:04
- Als Antwort markiert maybe_ Donnerstag, 16. Mai 2013 20:33
Alle Antworten
-
Schau mal in diesen Thread der letzte Post ;-))
http://social.technet.microsoft.com/Forums/de-DE/powershell_de/thread/e5d04f2e-aa63-4f57-b518-733fd32a77bcPlease click “Mark as Answer” if my post answers your question and click “Vote As Helpful” if my Post helps you.
Bitte markiere hilfreiche Beiträge von mir als “Als Hilfreich bewerten” und Beiträge die deine Frage ganz oder teilweise beantwortet haben als “Als Antwort markieren”.
My PowerShell Blog http://www.admin-source.info
[string](0..21|%{[char][int]([int]("{0:d}" -f 0x28)+('755964655967-86965747271757624-8796158066061').substring(($_*2),2))})-replace' '
German ? Come to German PowerShell Forum!- Als Antwort vorgeschlagen Alex Pitulice Donnerstag, 16. Mai 2013 08:04
- Als Antwort markiert maybe_ Donnerstag, 16. Mai 2013 21:16
-
Hallo,
ich versuche es nun mal recht einfach zu erklären.
$users ist ja eine Liste (oder auch Array) aus vielen Objekten. Über die foreach Schleife nimmst du nun jedes Objekt "einzeln" heraus. Das einzelene Objekt ist dann in der Variable $user.
Über die $User.Logon greift du nun auf die Eigenschaft (Property) mit dem Namen "Logon" eines solchen User Objekts zu.
Gruß Malte
- Bearbeitet Malte Brodersen Mittwoch, 15. Mai 2013 11:53
- Als Antwort vorgeschlagen Alex Pitulice Donnerstag, 16. Mai 2013 08:04
- Als Antwort markiert maybe_ Donnerstag, 16. Mai 2013 20:33