Возвращаемый объект Powershell без командлета - PullRequest
0 голосов
/ 01 марта 2012

Как вернуть объект на родной? Рассматривал это некоторое время, никаких простых и понятных примеров!

[РЕДАКТИРОВАТЬ] ИСПРАВЛЕНО! Просто решил сам, правильный код ниже!

function search-member()
{
$objOU_1 = New-Object System.DirectoryServices.DirectoryEntry("LDAP://dc=somedomain")

$objSearcher = New-Object System.DirectoryServices.DirectorySearcher

$objSearcher.SearchRoot = $objOU_1
$objSearcher.PageSize = 1000
$strFilter = "(&(objectCategory=User)(sAMAccountName=username))"
$objSearcher.Filter = $strFilter
$objSearcher.SearchScope = "Subtree"

$results = $objSearcher.FindAll()

# return $results # instead of this

$results # you first "write" what you want returned
return   # then return
}

$obj1 = search-member-2003 # if you take away the "$obj = " it will spit out the write which u have in the function directly.

$obj1 # here is the boject

1 Ответ

0 голосов
/ 01 марта 2012

если вы измените в своем скрипте это:

foreach ($result in $results)
{     
    $result        
}

или просто

return $results

тогда

$obj1 = search-member
$obj1.gettype()

даст object[] из 'SearchResult', если «имя пользователя» содержит подстановочный знак, такой как Смит *, и существует менее чем в две записи (например, «Смит» и «Смитсон»). Тогда

$obj1[0].gettype() является 'SearchResult'

если 'username' уникально $obj1 имеет тип 'SearchResult'.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...