2016-10-21 3 views
0

Новое в Powershell (и, в общем, сценарии). Это сводит меня с ума.Функция Powershell Параметр не работает

Попытка создать скрипт функцию некоторые администратора работы в Active Directory, и я упал на первое препятствие ...

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

Приведенный выше код прекрасно работает при запуске в PowerShell

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

Trainee-Admin 

Такая же команда в параметрах функций не работает. Вместо этого я получаю эту ошибку:

Отсутствует выражение после '='. В C: \ Users \ Administrator \ Desktop \ Powershell \ Scripts \ TraineeAdmin \ TraineeAdmin.p s1: 3 символ: 14 + $ групп = < < < < Import-CSV C: \ Users \ Администратор \ Desktop \ Powershell \ Scrip ц \ TraineeAdmin \ groups.csv + CategoryInfo: ParserError: (=: String) [], ParentContainsErrorRec ordException + FullyQualifiedErrorId: MissingExpressionAfterToken

Я предполагаю, что я пропускаю что-то очень простое, любая помощь будет будем очень благодарны.

ответ

0

Почему вы используете параметр в функции при жестком кодировании значения? Попробуйте так:

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

Благодаря guiwhatsthat, – Zeruko

+0

Нет проблем, пожалуйста, отметьте его как ответ, когда он решил вашу проблему. – guiwhatsthat

+0

Я использовал параметрную часть функции, чтобы объявлять переменные для использования в функции. Я забыл, что часть параметра использовалась для буквального создания параметров для самой функции. Как я уже сказал - общий новичок. – Zeruko

Смежные вопросы