windows - Powershell - 根据csv用户列表导出用户成员..组
问题描述
尝试导入包含用户列表的 csv 文件并导出包含这些用户 + 他们所属的组的 csv 文件..
我尝试了这个主题的脚本: 导入用户列表 - 导出用户和组列表
但它没有用。
我的用户列表文件(test_alex.csv)示例:
Name
----
Alex Alex
Test Test
You Me
这就是我得到的错误:
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
解决方案
也许不是 powershell 专家的最佳解决方案,但它完全符合我的需要。
首先下载此脚本: https ://gallery.technet.microsoft.com/PowerShell-Get-All-Group-167a9ce7#content
然后打开 powershell ISE 并将此脚本与您下载的脚本一起使用。
我的文件名:userlist.csv
$user = "userlist.csv"
$content = Get-Content $user
$content | Foreach {$_.TrimEnd()} | Set-Content $user
C:\temp\TheActualScripts\Multiple_UserGroup_InputFile.ps1 -CSVFile "C:\temp\copy\$user"
Rename-Item -Path "C:\temp\TheActualScripts\ReportFile.txt" -NewName "$user"
然后您将在脚本所在的文件夹中获得名为“ReportFile.txt”的输出文件,对我来说它是:C:\temp\TheActualScripts\ReportFile.txt
脚本的最后一行将文件“ReportFile.txt”的名称更改为“userlist”文件的名称。
重要的
请注意,您正在使用的用户文件中没有空格,因为如果有,脚本将不起作用,它只会给您一个空的“ReportFile.txt”文件。
推荐阅读
- math - 返回提供的 Vector2 半径中的随机点的方法,半径中心的机会高于边缘
- javascript - 反应 useState arg 函数与值
- ms-access - GROUP BY DateTime 数据类型的日期
- networking - C中IP列表的迭代
- php - 如何检查PHP函数参数值是否通过调用函数或默认值设置
- c - 打印 ASCII 金字塔
- vue.js - VueJS IE11 错误 SCRIPT5005 依赖错误
- html - HTML - Flexbox align-self 不适用
- php - 使用 PHP 按条件过滤 JSON 数组
- propertygrid - netcoreapp 中的 Propertygrid