根据 employeeid 设置标题
Set title based off employeeid
我写了一个脚本,我想读取一个 CSV 文件并对员工 ID 进行分级,并根据员工 ID 设置用户头衔。我在通过 CSV 循环每个 运行 上的所有 samaccount 名称的脚本时遇到问题。
$CSVFiles = Import-CSV "C:\T2\SetUserAttributes\EIDTitle.csv"
ForEach($CSVFile in $CSVFiles) { Get-ADUser -Filter * -Properties employeeid | ? {(($CSVFile.EmployeeID))} | Select SamAccountName -ExpandProperty SamAccountName | Sort-Object SamAccountName }
这是 CSV 文件的样子
EmployeeID Title
109216 Associate
109215 Vice President
108686 Vice President
根据您的示例,您似乎想知道如何有效地执行 If 语句。 TheIncorrigible1 在评论中指出,在 foreach 中调用 Get-ADUser 效率极低。您可以调用 Get-AdUser 一次并将输出通过管道传输到 "If",该 "If" 根据 EmployeeID 属性.
查找包含
$Titles = Import-CSV "C:\T2\SetUserAttributes\EIDTitle.csv"
Get-ADUser -Filter * -Properties employeeid | ?{
$Titles.EmployeeID.Contains($_.EmployeeId)
}
但是当我阅读全文时 post 我看到您想要更改 AD 中的标题以对应于 CSV 文件中的标题。如果我们将转到 foreach-object 语句,将 AD-Users 放入名为 $Users 的 var 中,然后在 CSV 变量上执行 where 语句,则差异不是 a。那时我们将使用 Set-ADUser 设置标题并将信息输出到控制台。
$Titles = Import-CSV "C:\T2\SetUserAttributes\EIDTitle.csv"
Get-ADUser -Filter * -Properties employeeid | %{
$User = $_
$Titles | Where{$_.EmployeeID -eq $USer.EmployeeID} | Set-ADUser $User -Title $_.Title | %{Write-Output "$($User.SamAccountName) : $($_.Title)"}
}
我写了一个脚本,我想读取一个 CSV 文件并对员工 ID 进行分级,并根据员工 ID 设置用户头衔。我在通过 CSV 循环每个 运行 上的所有 samaccount 名称的脚本时遇到问题。
$CSVFiles = Import-CSV "C:\T2\SetUserAttributes\EIDTitle.csv"
ForEach($CSVFile in $CSVFiles) { Get-ADUser -Filter * -Properties employeeid | ? {(($CSVFile.EmployeeID))} | Select SamAccountName -ExpandProperty SamAccountName | Sort-Object SamAccountName }
这是 CSV 文件的样子
EmployeeID Title
109216 Associate
109215 Vice President
108686 Vice President
根据您的示例,您似乎想知道如何有效地执行 If 语句。 TheIncorrigible1 在评论中指出,在 foreach 中调用 Get-ADUser 效率极低。您可以调用 Get-AdUser 一次并将输出通过管道传输到 "If",该 "If" 根据 EmployeeID 属性.
查找包含$Titles = Import-CSV "C:\T2\SetUserAttributes\EIDTitle.csv"
Get-ADUser -Filter * -Properties employeeid | ?{
$Titles.EmployeeID.Contains($_.EmployeeId)
}
但是当我阅读全文时 post 我看到您想要更改 AD 中的标题以对应于 CSV 文件中的标题。如果我们将转到 foreach-object 语句,将 AD-Users 放入名为 $Users 的 var 中,然后在 CSV 变量上执行 where 语句,则差异不是 a。那时我们将使用 Set-ADUser 设置标题并将信息输出到控制台。
$Titles = Import-CSV "C:\T2\SetUserAttributes\EIDTitle.csv"
Get-ADUser -Filter * -Properties employeeid | %{
$User = $_
$Titles | Where{$_.EmployeeID -eq $USer.EmployeeID} | Set-ADUser $User -Title $_.Title | %{Write-Output "$($User.SamAccountName) : $($_.Title)"}
}