0

Я написал сценарий, чтобы взять пользователя AD, отключить пользователя, удалить пользователя из членства в группах и переместить пользователя в подразделение. Я изначально написал это на нашем Windows 2008 R2 DC (я знаю, плохая идея), и я хотел запустить сценарий локально на моей машине Win 7 SP1. Он имеет роль AD, указанную в этой статье (http://blogs.msdn.com/b/rkramesh/archive/2012/01/17/how-to-add-active-directory-module-in-powershell-in-windows-7.aspx)Ошибка Powershell при запуске на другой машине

Я работал как на DC, так и на моей машине Win7 $ PSVersionTable, и они точно такие же. Я могу запустить ADSIEDIT.msc на машине Win 7. Ошибка возникает при выполнении поиска пользователей AD. См выход ошибки ниже:

Вот мой сценарий: https://github.com/nocode99/powershell/blob/master/UserDisableGroupRemoval.ps1

Property 'filter' cannot be found on this object; make sure it exists and is settable. 
At C:\Admin\test.ps1:23 char:12 
+  $ADsearch. <<<< filter = "(&(objectClass=user)(sAMAccountName=$user))" 
    + CategoryInfo   : InvalidOperation: (filter:String) [], RuntimeException 
    + FullyQualifiedErrorId : PropertyNotFound 

You cannot call a method on a null-valued expression. 
At C:\Admin\test.ps1:24 char:32 
+  $ADfind = $ADsearch.findOne <<<<() 
    + CategoryInfo   : InvalidOperation: (findOne:String) [], RuntimeException 
    + FullyQualifiedErrorId : InvokeMethodOnNull 

Любые идеи? Модуль ActiveDirectory импортирует без проблем, и я хочу, чтобы мои пользователи запускали его локально на своей машине, а не в DC.

ответ

0

Похоже, что мне нужно, чтобы включить фильтр перед поиском и добавил:

$ ПокупкаНадувательствоИщите = [adsisearcher] «»

хотя я не знаю, почему это работает без фильтра на самом сервере AD ,