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

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Cannot convert to type System.Collections.Hashtable (http://forum.oszone.net/showthread.php?t=339174)

Elven 11-02-2019 14:41 2857312

Cannot convert to type System.Collections.Hashtable
 
Имеется скрипт создающий пользователя в домене. Сейчас появилась нужность добавлять параметр manager который, как оказалось, требует типа System.Collections.Hashtable. Откуда его дергать так чтобы правильно?

YuS_2 11-02-2019 14:57 2857316

Цитата:

Цитата Elven
Откуда его дергать так чтобы правильно? »

А зачем его дергать? :)
Код:

PS_5.1> $manager = new-object System.Collections.Hashtable
PS_5.1> $manager.gettype()

IsPublic IsSerial Name                                    BaseType
-------- -------- ----                                    --------
True    True    Hashtable                                System.Object


Elven 11-02-2019 15:08 2857318

YuS_2, дергать его нужно чтобы правильного руководителя указать, а не создать невемую зверушку. Manager'ом, если из GUI, указывается учетная запись в AD. Вот и вопрос, соответственно, в эту сторону. За какое место нужно дернуть Microsoft.ActiveDirectory.Management.ADObject чтобы получить System.Collections.Hashtable.

YuS_2 11-02-2019 15:34 2857322

Цитата:

Цитата Elven
За какое место нужно дернуть Microsoft.ActiveDirectory.Management.ADObject чтобы получить System.Collections.Hashtable. »

Все равно, непонятно в чем проблема... у меня нет ActiveDirectory, чтобы его подергать, но может быть поможет такой пример:
Код:

$ht=ps| group processname -ash -asstr

Busla 11-02-2019 15:39 2857323

Цитата:

Цитата Elven
появилась нужность добавлять параметр manager который, как оказалось, требует типа System.Collections.Hashtable »

неправда, параметр manager требует тип ADUser

Elven 11-02-2019 18:02 2857344

Непонятная какая-то тема. Скармливал этот параметр приблизительно так:
Код:

$manager = Get-ADObject -Identity "CN=Glavni Nachalneg,OU=Users,OU=IT,DC=doma,DC=in"
Set-ADUser -Identity:"$DN" -Replace:'manager'="$manager"

и получал ошибку, с требованием подсунуть System.Collections.Hashtable
а добавил аналогичный параметр в New-ADUser - заработало. (Сам не знаю на кой я это делал отдельной командой, истинно понедельник день тяжелый)
Вот только что интересно: в set-aduser так же как и в new-aduser параметр manager в docs.microsoft.com указан с одним и тем же типом - <ADUser> (Microsoft.ActiveDirectory.Management.ADObject)
Однако, оно работает, и это на текущий момент главное.

Busla 12-02-2019 11:02 2857466

Elven, потому что System.Collections.Hashtable требуется передавать в параметр Replace, тип менеджера тут вообще не при чём.
А ещё в docs.microsoft.com для Set-ADUser есть пример указания менеджера.

Зачем вы всё закавычиваете?


Время: 07:50.

Время: 07:50.
© OSzone.net 2001-