Лучший отвечающий
Win 2008R2 PS: NULL значение

Вопрос
-
$filter = "(&(objectcategory=user)(Name=$env:username))"
$ds = New-object System.DirectoryServices.DirectorySearcher([ADSI]"",$filter) $user = ($ds.Findone()).properties.memberof foreach ($grouppath in $user) { $group = ([adsi]"LDAP://$($grouppath.tostring())").sAMAccountname switch ($group) { "domain admins" {net use v: \\server1\share1} "special group" {net use k: \\server2\share2} } }
Получаю ошибку:
Нельзя вызвать метод для выражения со значением NULL.
C:\temp\PSmegamap2.ps1:5 знак:20
+ $grouppath.tostring <<<< ()
+ CategoryInfo : InvalidOperation: (tostring:String) [], RuntimeException
+ FullyQualifiedErrorId : InvokeMethodOnNullПользователь на сервере входит в группу локальных админов и входит в несколько доменных групп, при этом значение $user из скрипта пустое.
В чем проблема?
- Перемещено osr_MVP, Moderator 18 мая 2012 г. 11:40 (От:Windows server 2008R2/2008)
17 мая 2012 г. 14:54
Ответы
-
>$filter = "(&(objectcategory=user)(Name=$env:username))"
Фильтр неправильный, IMHO. Наверное должно быть так:
$filter = "(&(objectcategory=user)(samaccountname=$env:username))"
my blog: http://shserg.ru/
- Помечено в качестве ответа Legioner 28 мая 2012 г. 9:05
19 мая 2012 г. 13:25
Все ответы
-
Вывод команды:
([adsisearcher]"(&(objectcategory=user)(Name=$env:username))").FindOne()
18 мая 2012 г. 16:48Отвечающий -
>$filter = "(&(objectcategory=user)(Name=$env:username))"
Фильтр неправильный, IMHO. Наверное должно быть так:
$filter = "(&(objectcategory=user)(samaccountname=$env:username))"
my blog: http://shserg.ru/
- Помечено в качестве ответа Legioner 28 мая 2012 г. 9:05
19 мая 2012 г. 13:25 -
>$filter = "(&(objectcategory=user)(Name=$env:username))"
Фильтр неправильный, IMHO. Наверное должно быть так:
$filter = "(&(objectcategory=user)(samaccountname=$env:username))"
my blog: http://shserg.ru/
Спасибо большое , сразу не заметил, т.к. username и samaccountname были одинаковые у админа, из под которого все работало ок.28 мая 2012 г. 9:07