批处理读取本地组成员账号输出到txt文件中
时间: 2023-08-16 21:08:13 浏览: 49
以下是一个简单的批处理脚本,可以读取本地组的成员账号并将其输出到txt文件中:
```
@echo off
setlocal enabledelayedexpansion
set group=Administrators
set output_file=members.txt
(for /f "skip=4 tokens=*" %%a in ('net localgroup %group%') do (
set "line=%%a"
if "!line:~0,1!"=="*" (
set "line=!line:~1!"
)
echo !line!
)) > %output_file%
```
将 `Administrators` 替换为要读取成员的本地组名称,将 `members.txt` 替换为要输出成员账号的txt文件名。运行该脚本后,将会将指定本地组的所有成员账号输出到指定的txt文件中。请注意,此操作需要使用管理员权限运行批处理脚本。
相关问题
powershell读取txt文件账号清理或添加对应成员到AD组
可以使用以下代码来读取txt文件中的账号列表,然后将这些账号添加到指定的AD组中:
```
$Group = "GroupName"
$Users = Get-Content "C:\userlist.txt"
foreach ($User in $Users) {
Add-ADGroupMember -Identity $Group -Members $User
}
```
请将 "GroupName" 替换为你想要添加成员的AD组名,将 "C:\userlist.txt" 替换为你存储账号列表的txt文件路径。
如果你想要清理某个AD组中不存在于txt文件中的成员,可以使用以下代码:
```
$Group = "GroupName"
$Users = Get-Content "C:\userlist.txt"
$CurrentUsers = Get-ADGroupMember -Identity $Group | Select-Object -ExpandProperty SamAccountName
$UsersToRemove = Compare-Object -ReferenceObject $CurrentUsers -DifferenceObject $Users | Where-Object { $_.SideIndicator -eq "<=" } | Select-Object -ExpandProperty InputObject
foreach ($User in $UsersToRemove) {
Remove-ADGroupMember -Identity $Group -Members $User -Confirm:$false
}
```
同样,请将 "GroupName" 和 "C:\userlist.txt" 替换为你的AD组名和txt文件路径。这段代码会比较txt文件中的账号列表和当前AD组的成员,然后从AD组中删除在txt文件中不存在的成员。
powershell读取AD组成员账号输出为CSV
可以使用以下代码来读取AD组成员账号并输出为CSV文件:
```
Get-ADGroupMember -Identity "GroupName" | Select-Object Name,SamAccountName | Export-Csv -Path "C:\Output.csv"
```
请将 "GroupName" 替换为你想要读取成员的AD组名,将 "C:\Output.csv" 替换为你想要输出的CSV文件路径。