私たちのアクティブディレクトリに、当社の経営者フィールドを更新し、ここでは、このPowerShellの一括更新、Active Directoryの管理者フィールド
Firstname.LastnameEmployee;firstname.lastnameManager
は、私が使用しているスクリプトであるように、入力ファイルが見えスクリプト を持ってしようとしています。 .. これは私が得るエラーです
がヌル値の式でメソッドを呼び出すことはできません。ラインで :26文字:5 + $ ObjSearchemployee.Filter =「(&(objectCategoryの=人)(objectClassの=ユーザー)(SAM ... + ~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~ + CategoryInfo:はInvalidOperation:(:) []、RuntimeExceptionが + FullyQualifiedErrorId:。InvokeMethodOnNull
はあなたがnull値の表現上のメソッドを呼び出すことはできません 行:31文字:9 + $ ObjSearchmanager.Filter =「(&(objectCategoryの=人)(objectClassの=ユーザー)(... + ~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~CategoryInfo:はInvalidOperation:(:) []、RuntimeExceptionが + FullyQualifiedErrorId:あなたはあなたの元の例のように、 "従業員" の列ヘッダを持っていないので、InvokeMethodOnNull
###############################################################
# Update_Manager_v1.0.ps1
# input : n/a
# output : none (logs)
# Version 1.
# Changelog : n/a
# MALEK Ahmed - 02/06/2013
###################
##################
#--------Config
##################
$adPath="LDAP://DC=local,DC=com"
##################
#--------Main
##################
#LDAP connection
$objDomain=New-Object System.DirectoryServices.DirectoryEntry($adPath)
#Doing an LDAP search
$ObjSearchemployee=New-Object System.DirectoryServices.DirectorySearcher($ObjDomain)
$ObjSearchmanager=New-Object System.DirectoryServices.DirectorySearcher($ObjDomain)
#Operations on user accounts
Import-Csv .\input.csv -Delimiter ';' | Foreach-Object {
$ObjSearchemployee.Filter = "(&(objectCategory=person)(objectClass=user)(sAMAccountName="+ $_.employee.trim() +"))"
$allSearchResultemployee = $ObjSearchemployee.FindAll()
foreach ($objSearchResultemployee in $allSearchResultemployee)
{
$objUseremployee=New-Object System.DirectoryServices.DirectoryEntry($objSearchResultemployee.Path)
$ObjSearchmanager.Filter = "(&(objectCategory=person)(objectClass=user)(sAMAccountName="+ $_.manager.trim() +"))"
$allSearchResultmanager = $ObjSearchmanager.FindAll()
foreach ($objSearchResultmanager in $allSearchResultmanager)
{
$objUsermanager=New-Object System.DirectoryServices.DirectoryEntry($objSearchResultmanager.Path)
$objUseremployee.manager = $objUsermanager.distinguishedname
}
$objUseremployee.CommitChanges()
"" + $objUsermanager.displayName + " is now the manager of " + $objUseremployee.displayName + ""
}
}
と同じ問題を抱えているだろう示唆しています。それがエラーを起こす理由です。 – Matt