2016-10-21 6 views
0

Neu bei Powershell (und Scripting im Allgemeinen). Das macht mich verrückt.Powershell Funktion Parameter funktioniert nicht

Der Versuch, eine Funktion Skript einige Admin Arbeit in Active Directory zu erstellen, und ich habe an der ersten Hürde gefallen ...

$groups = import-csv C:\Users\administrator\Desktop\Powershell\Scripts\TraineeAdmin\groups.csv 

Der obige Code funktioniert gut, wenn in Powershell ausgeführt

Function Trainee-Admin { 
    param($groups = import-csv C:\Users\administrator\Desktop\Powershell\Scripts\TraineeAdmin\groups.csv) 
    $groups 
} 

Trainee-Admin 

Derselbe Befehl in den Funktionsparametern funktioniert nicht. Ich bekomme nur diesen Fehler stattdessen:

Fehlender Ausdruck nach '='. Bei C: \ Users \ Administrator \ Desktop \ Powershell \ Scripts \ TraineeAdmin \ TraineeAdmin.p s1: 3 Zeichen: 14 + Gruppen = < < $ < < Import-csv C: \ Users \ Administrator \ Desktop \ Powershell \ Scrip ts \ TraineeAdmin \ groups.csv + CategoryInfo: ParserError: (=: String) [], ParentContainsErrorRec ordException + FullyQualifiedErrorId: MissingExpressionAfterToken

ich vermute, ich etwas sehr einfach bin fehlt, jede mögliche Hilfe würde sehr geschätzt werden.

Antwort

0

Warum verwenden Sie einen Parameter in einer Funktion, wenn Sie den Wert fest codieren? wie diese versuchen:

Function Trainee-Admin { 
    param($groups) 
    write-host $groups 
} 
$groups = import-csv -path "C:\Users\administrator\Desktop\Powershell\Scripts\TraineeAdmin\groups.csv" 
Trainee-Admin -groups $groups 
+0

Dank guiwhatsthat, – Zeruko

+0

Kein Problem, fügen Sie es als Antwort markieren, wenn es Ihr Problem gelöst. – guiwhatsthat

+0

Ich habe den Parameter Teil der Funktion verwendet, um Variablen zu deklarieren, die in der Funktion verwendet werden sollen. Ich hatte vergessen, dass der Parameter Teil verwendet wurde, um Parameter für die Funktion selbst zu erstellen. Wie ich schon sagte - total Neuling. – Zeruko