1

我不知道为什么我不能让它工作,但我有一个员工 ID 的 .csv,我想将它们添加到 AD 组,但我不能让它工作

Function Sync-ADGroup {
$userIDs = Import-CSV $CSV
foreach($ID in $IDs){
    Get-ADUser -Filter "EmployeeID -eq '$ID'" -Properties SAMAccountName
    }
}

然后我会将它们添加到组中,但我不能返回 ADUserObject。不知道我错过了什么。

4

2 回答 2

3

您需要引用 csv 文件中显示的用户的属性名称(列)。例如,如果文件中的值位于 EmployeeID 标头下:

foreach($userID in $userIDs)
{ 
    Get-ADUser -Filter "EmployeeID -eq $($userID.EmployeeID)" -Properties SAMAccountName 
}

要使上述内容正常工作,您的 csv 文件需要如下所示:

EmployeeID 
1234 
2345 
3456 
于 2013-03-07T13:09:42.677 回答
0

foreach 循环中使用了未声明的集合变量。

$userIDs = Import-CSV $CSV # Load stuff to "userIDs"
foreach($ID in $IDs){ # Enumerate "IDs", oops, should be "userIDs"

由于$IDs是空变量,循环并没有做太多事情。

为了避免这种错误,请使用严格模式:Set-PSDebug -Strict. 这将导致使用未声明变量的错误。(咆哮:严格模式应该是 Powershell 中的默认模式。我在我的个人资料和我编写的所有脚本中都设置了它。)

于 2013-03-07T12:53:06.600 回答