簡體   English   中英

Powershell - 根據 csv 用戶列表導出組

[英]Powershell - Export Groups according to csv users list

嘗試導入包含用戶列表的 csv 文件,並導出包含這些用戶及其所屬組的 csv 文件。

我嘗試了這個主題中的腳本:導入用戶列表 - 導出用戶和組列表

但它沒有用。

我的用戶列表文件 (dab.csv) 示例:

ID,FName,LName
AAA062, Emil,Øigaard
193063, Henning,Ørnbak
ZGO064, Peter,Ørskov Madsen
193065, Claus,Ørsted
193066, Ole,Ørsted
193067, Marianne,Østengen
BCZ068, Preben,Østerfelt
193069, Anders,Østergaard
193069, Nigel, Jones
BAB369, Steven, Saunders
193024, Leyla,Özalp
193025, Jale Atabey,Özberk
ZDA026, Murat,Özbey
193027, Paul,Özcan
193028, Mehmet,Simanyayi
193029, Atilla,Özdemir

那是我得到的錯誤:

Get-AdUser : The search filter cannot be recognized At line:2 char:29 + ForEach-Object -pv user { Get-AdUser -filter "displayname -eq '$($_.username)' ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : NotSpecified: (:) [Get-ADUser], ADException + FullyQualifiedErrorId : ActiveDirectoryServer:8254,Microsoft.ActiveDirectory.Management.Commands.GetADUser

語法$_.username username 在您的 csv 中需要一個名為username的列

Powershell 也不會在雙引號內擴展.property ,所以它在$_處停止。 您可以使用$($_.property)進行修復

如果您只有名字和姓氏,請嘗試對這些屬性使用過濾器: "GivenName -like '$($_.Fname)' -and surname -like '$($_.LName)'"

並以與鏈接問題類似的方式獲取組

$csv = Import-Csv C:\Users.csv

# get the groups for each user
$Report = ForEach ($row in $csv) { 
  $ADUser = Get-ADUser -Filter "GivenName -like '$($row.Fname)' -and surname -like '$($row.LName)'" -properties memberof
  $ADUser.MemberOf | 
    Get-ADGroup | 
    Select @{n='Username';e={$ADUser.SamAccountName}},Name
}

# output to csv
$Report | Export-Csv C:\folder\output.csv

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM