Benutzer mit den meisten Antworten
get-aduser

Frage
-
Hallo,
Code:
$selectlist = "name,enabled";
$name = "jd123456";
$filter = "samaccountname";
$userinfos = get-aduser -filter {$filter -like $name } -properties * | select $selectlist;
$userinfos;
Resultat:name,enabled
------------
{}Folgender Code liefert die gewünschten Ergebnisse:
$selectlist = "name","enabled";
$name = "jd123456";
$filter = "samaccountname";
$userinfos = get-aduser -filter {$filter -like $name } -properties * | select $selectlist;
$userinfos;Resultat:
name enabled
---- -------
Doe John True
Da ich aber den Wert für $selectlist aus einer Datei beziehen will (get-content), hilft mir das nicht viel. Hat jemand eine Idee, wie ich aus einem Powershell script heraus mehrere Attribute selektieren kann ohne mehrere Befehle auszuführen?
Vielen Dank im voraus...
/John
Antworten
-
Deleted
- Als Antwort markiert Pick Aname Dienstag, 13. November 2012 08:40
Montag, 12. November 2012 15:12
Alle Antworten
-
Da ich aber den Wert für $selectlist aus einer Datei beziehen will (get-content), hilft mir das nicht viel.
Get-Content liest Text aus einer Datei Zeilenweise.
Muss es unbedingt eine Text Datei sein? Dann landest du immer bei Text (String) Verarbeitung oder beim Zeilen zählen!
Gerade das versucht die PowerShell mit dem Objekt basierten Ansatz zu vermeiden, da es sehr fehleranfällig ist!
Kannst du zum einlesen nicht eine CSV Datei nehmen? Die besteht auch aus Text und wird beim Einlesen in Objekte verwandelt da die Daten sauber in einer "Tabelle" stehen.CSV Dateien lassen sich leicht mit Excel erstellen und verwalten.
Please 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!
- Bearbeitet Peter Kriegel Montag, 12. November 2012 15:24
-
@Matthias
Woher weißt du denn wie die Text-Datei von Pick Aname aufgebaut ist?
Das hat er nämlich nicht verraten ;-)Please 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! -
Wieder mal ein hübsches Beispiel, das unzureichende Information nur heiteres Rätselraten mit 'ner Trefferquote von maximal 50% verursacht. :)
Falls Matthias` Lösung nicht ausreicht, poste bitte mal einen Auszug der Datei und beschreibe was du genau machen willst. Beispielsweise, warum die Attribute überhaupt in einer Datei angeliefert werden. Ich würde wetten, da gibts ne effizientere Lösung.
Für die Zukunft lies bitte mal diesen Post.
Grüße, Denniver
Blog: http://bytecookie.wordpress.com
Hilf mit und markiere hilfreiche Beiträge als "Hilfreich" und Beiträge die deine Frage ganz oder teilweise beantwortet haben als "Antwort".- Bearbeitet Denniver ReiningMVP, Moderator Montag, 12. November 2012 16:02
-
Ich habe die config datei, die in die Variable $selectlist mit get-content eingelesen wird, in eine csv datei konvertiert und dass script nochmal laufen lassen. Leider habe ich dann auch nur folgendes Resultat erhalten. Die Datei besteht eigentlich nur aus einer Zeile - nur um zu definieren, welche Attribute selektiert werden sollen. Auch wird die Datei nicht manuell bearbeitet. Trotzdem würde mich interessieren, warum es mit der csv datei nicht funktioniert hat. Hätte ich die csv datei eher importieren als mit get-content einlesen sollen?
name,enabled
------------
{}danke für die tipps
edit: get-content -> array of strings
- Bearbeitet Pick Aname Dienstag, 13. November 2012 10:14
-
>Hätte ich die csv datei eher importieren als mit get-content einlesen
Jain. Import-CSV ist grundsätzlich dafür da CSV-Dateien einzulesen. Schau dir mal die Beispiele im Link an um zu verstehen wie die Daten dann vorliegen.
Get-Content hingegen, liest deine Datei in ein Array, mit je einer kompletten Textzeile als ein Eintrag.
Falls du also eine echte CSV (als Text gespeicherte Tabelle(!)) vorliegen hast, ist import-csv die beste Wahl. Falls deine CSV aber nur aus einer Zeile durch Komma getrennter Werte besteht, ist es einfacher, diese Zeile mit get-content zu lesen und mit split(",") in ein Array zu wandeln.
Grüße, Denniver
Blog: http://bytecookie.wordpress.com
Hilf mit und markiere hilfreiche Beiträge als "Hilfreich" und Beiträge die deine Frage ganz oder teilweise beantwortet haben als "Antwort".
- Bearbeitet Denniver ReiningMVP, Moderator Dienstag, 13. November 2012 11:36