Показать полную графическую версию : как конвертировать стринг в параметр?
snailp4el
05-06-2015, 10:13
Помогите решить проблему.
$fild = City
Set-ADUser $slave -$fild $valueFild.City
Set-ADUser : Не удается найти позиционный параметр, принимающий аргумент "-City".
Понятно что сложность в том что переменная передается как стринг в пораметр, не понятно что с этим делать:)
Заранее спасибо!
$param = @{
"Identity" = $slave
"City" = $valueFild.City
}
Set-ADUser @param
Очень плохая практика использовать Invoke-Expression:
Invoke-Expression "Set-ADUser $slave -$fild $valueFild.City"
snailp4el
05-06-2015, 11:21
Спасибо, через параметры можно задать несколько значений пользователя?
------если выполнять без функции, то все работает, а вот в функции не работает.
function FillLikeMaster($master, $slave, $fild)
{
$master
$slave
$fild
$valueFild = Get-ADUser $master | Get-ADUser -Properties *
$param=@{
"Identity"= $slave
$fild= $valueFild.$fild
}
Set-ADUser @param
}
------собственно ошибка
FillLikeMaster nizamovadg, stepanovanb, City
Get-ADUser : Не удается преобразовать "System.Object[]" в тип "Microsoft.ActiveDirectory.Management.ADUser", необходимый для параметра "Identity". Указанный метод не поддерживается.
строка:6 знак:24
+ $valueFild = Get-ADUser <<<< $master | Get-ADUser -Properties *| Select-Object Title
+ CategoryInfo : InvalidArgument: (:) [Get-ADUser], ParameterBindingException
+ FullyQualifiedErrorId : CannotConvertArgument,Microsoft.ActiveDirectory.Management.Commands.GetADUser
Ошибка при выполнении операции индексирования, индекс массива вычислен в значение NULL.
строка:9 знак:1
+ <<<< $fild= $valueFild.$fild
+ CategoryInfo : InvalidOperation: (:) [], RuntimeException
+ FullyQualifiedErrorId : NullArrayIndex
------Задача перенести часть реквизитов от одного юрера другому, может есть лучшие решение?
------Заранее спасибо!
FillLikeMaster nizamovadg stepanovanb City
snailp4el
05-06-2015, 12:35
Дело было не бабине))) Спасибо! Все работает.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.