2016-07-21 5 views
0

Ich benutze dieses Skript, um die CSV-Datei zu importieren und zu modifizieren und dann exportieren Ich möchte die Daten in der Spalte 'Mitglied von' und if-String '[Admin ... welcher String. ..] 'gefunden, Ausgabe in der Spalte' Admin Privilegiert 'sollte TRUE sonst FALSE sein.True oder False-Ausgabe in Spalte

Ich versuche, mit boolean wie unten:

Import-Csv csvdatacol.csv | 
    Select-Object Name, Hostname, 'Last Logon Date', 'Member of', 
       @{n='Admin Priviledges';e={[bool]()}} 
+1

'[bool] ($ _ 'Mitglied. '-wie Admin *) ' –

+0

danke, ich änderte es mit' ' e = {[boolean] ($ _. Mitglied von' -ähnlichen 'Administratoren *)}} immer noch bekam ich False für alle Einträge und ich brauche [Admin * as string – Atermon

+0

Sie müssen möglicherweise auch Fällen behandeln, in denen "Administratoren" nicht ist die erste Gruppe in der Liste. Deine Frage wäre klarer gewesen, hättest du den Code einfach zu deiner [vorherigen Frage] hinzugefügt (http://stackoverflow.com/q/38504420/1630171), anstatt sie zu löschen. –

Antwort

1

Verwendung so etwas wie dies in dem Ausdruck für das Feld "Admin-Berechtigungen":

@($_.'Member Of' -replace '^\[|\]$' -split ',') -contains 'Administrators' 
+0

es funktioniert! Danke! Ich kann nicht verstehen, wo wir das Wahre oder Falsche deklarieren? – Atermon

+0

Die Operation 'array -contains value' gibt einen booleschen Wert' $ true' oder '$ false' zurück, der zu" True "oder" False "wird, wenn er in eine Zeichenkette umgewandelt wird. –

+0

vielen Dank! – Atermon

Verwandte Themen