Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   как конвертировать стринг в параметр? (http://forum.oszone.net/showthread.php?t=300773)

snailp4el 05-06-2015 10:13 2515169

как конвертировать стринг в параметр?
 
Помогите решить проблему.
$fild = City
Set-ADUser $slave -$fild $valueFild.City
Set-ADUser : Не удается найти позиционный параметр, принимающий аргумент "-City".

Понятно что сложность в том что переменная передается как стринг в пораметр, не понятно что с этим делать:)
Заранее спасибо!

Kazun 05-06-2015 10:19 2515170

Код:

$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 2515193

Спасибо, через параметры можно задать несколько значений пользователя?

------если выполнять без функции, то все работает, а вот в функции не работает.
Код:

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

------Задача перенести часть реквизитов от одного юрера другому, может есть лучшие решение?
------Заранее спасибо!

Kazun 05-06-2015 12:03 2515219

Код:

FillLikeMaster nizamovadg  stepanovanb  City

snailp4el 05-06-2015 12:35 2515229

Дело было не бабине))) Спасибо! Все работает.


Время: 21:33.

Время: 21:33.
© OSzone.net 2001-