使用Powershell取出属于某些指定组的用户并导出为csv
知识这东西就像雪球,越滚越大,今天看到了这篇自己1年多前写的博文,简直弱爆了。于是更新一下程序:
2016-6-15更新,短短几行代码,就拿到了组和组成员,其中还用到了递归,以处理组成员是组的情况:
Get-ADGroup -Filter * -SearchBase "ou=test-ou,ou=vb-group,dc=corp,dc=vb" | foreach {
[PSCustomObject]@{'GroupName'=$_.name;'Members'=$null}
Get-ADGroupMember -Identity $_.name -Recursive | foreach {
[PSCustomObject]@{'GroupName'=$null;'Members'=$_.name}
}
}

以下是一年多前写的:
cd 'F:\ACL\HZ ACL'
$report = New-Item -Path .\ACL-APAC.CSV -ItemType file -Force
Add-Content -Path .\ACL-APAC.CSV -Value "GroupName,EmpNo,Name" #方法一:(后写)
Import-Csv .\Groups.CSV | ForEach-Object {
#下面这句获得组的名称,然后追加输出到CSV文件
Get-ADGroup -Filter * -SearchBase $_.GroupName | select -ExpandProperty Name | Out-File $report -Encoding ASCII -Append
#下面这个循环:将一个组中的每个成员的samAccountName, displayName存入变量$users
ForEach-Object {
$users = Get-ADGroup -Filter * -SearchBase $_.GroupName | Get-ADGroupMember | Get-ADUser -Properties samAccountName, displayName #| select -Property samAccountName, displayName
#下面这个循环:将每个成员的samAccountName, displayName追加输出到CSV文件
ForEach($user in $users) {
"," + $user.samAccountName + "," + $user.displayName | Out-File $report -Encoding ASCII -Append
}
}
}
<#方法二:(先写)
Import-Csv .\Groups.CSV | ForEach-Object {
#下面是groupname的循环
Get-ADGroup -Filter * -SearchBase $_.GroupName | select -ExpandProperty Name | Out-File $report -Encoding ASCII -Append
#下面是group里成员的循环
ForEach-Object {
$MemberSummary = Get-ADGroupMember -Identity $_.GroupName | select -Property SamAccountName
#下面是列出每个用户的完整属性
ForEach ($Member in $MemberSummary) {
$MemberDetail = Get-ADUser -Identity $Member.SamAccountName -Properties Name, displayName
#下面是最终生成的CSV中真正的员工号,姓名那一行内容
ForEach-Object {
"," + $MemberDetail.Name + "," + $MemberDetail.DisplayName | Out-File $report -Encoding ASCII -Append
}
} } }
#>
使用Powershell取出属于某些指定组的用户并导出为csv的更多相关文章
- linux创建用户,指定组
本博客不再更新 该文章新链接移步:http://it.lovepet.vip/archives/7/ 一.创建用户: 1.使用命令 useradd 例:useradd test——创建用户test ...
- 根据指定id取出数组中指定对象
// 需求:根据Id取出数组中指定的对象 let arr = [ { id: 1, rotationAngle: 330, target: '目标1' }, { id: 2, rotationAngl ...
- 新建linux组、用户命令
之前在安装oracle的时候,出现了一个问题:安装Oracle,新建组.用户的时候的一个错误.看这篇博客前,先看这个链接,学习要从解决出现的问题出手. 建立用户组和用户 下面总结一下Linux建立组和 ...
- linux用户和组 之 用户管理
一. linux 用户和组的基本介绍 1.linux下 有三种用户: 1. root: 权限最大的. 2. 系统用户: UID小于1000的.系统服务管理用户,一般是不允许登录系统的.(比如mysql ...
- 四、指定Nginx启动用户
一.nginx指定启动用户 1.参考宝塔的配置 解释:(linux权限管理) 指定用www用户启动nginx,如果你用root启动nginx,万一nginx有漏洞,被提权了,你服务器就GG了 所以指定 ...
- Window Server 2019 配置篇(7)- 利用脚本创建OU,组和用户
好的,服务器到上一步为止,基本的雏形已经确立了,接下来我们要完善一些细节 打开AD-admin服务器,创建一个脚本,要求能够从csv文件中读出数据并建立OU,组和用户,以及他们的密码 这里有一个参考的 ...
- HTML input="file" 浏览时只显示指定文件类型 xls、xlsx、csv
html input="file" 浏览时只显示指定文件类型 xls.xlsx.csv <input id="fileSelect" type=" ...
- 设置开机启动时指定非ROOT用户执行相应的脚本
[root@MSJTVL-MJSP-A01 sm01]# vim /etc/rc.d/rc.local #!/bin/sh # # This script will be executed *afte ...
- Win7多用户情况下,指定某一用户为自动登陆-解决办法
转自:http://sbiuggypm.themex.net/archives/605 许久没更新博客了,但从后台可以查看到,有不少朋友还是几乎每天来逛一逛,很对不起的是最近都没更新啥内容.真是不好意 ...
随机推荐
- c标签设置jsp页面的绝对路径
<%@ page language="java" pageEncoding="UTF-8"%><%@ taglib prefix=" ...
- 项目总结(四)--- 网络封包分析工具Charles
Charles是Mac下一款截取网络封包的工具,主要原理就是将自己设置成为熊网络访问的代理服务器,这样的话,所有的网络请求都得通过它来完成,从而实现网络封包的拦截分析. 这款软件功能整体来说还是非常强 ...
- 将Excel文件.xls导入SQL Server 2005
SQL2005 Microsoft SQL Server Management Studio Express管理器里,右键单击一个数据库,指向“任务”,再单击“导入数据”或“导出数据”中没有这个选项, ...
- .Net查看项目文件弹出未找到与约束
项目能打开,但是当要在项目中查看文件时弹出未找到与约束contractname Microsoft.VisualStudio.Utilities.IContentTypeRegistryService ...
- 总结sqlserver数据库性能优化相关的注意事项
一.分析阶段一般来说,在系统分析阶段往往有太多需要关注的地方,系统各种功能性.可用性.可靠性.安全性需求往往吸引了我们大部分的注意力,但是,我们必须注意,性能是很重要的非功能性需求,必须根据系统的特点 ...
- hdu 1541/poj 2352:Stars(树状数组,经典题)
Stars Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submi ...
- poj 3253:Fence Repair(堆排序应用)
Fence Repair Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 23913 Accepted: 7595 Des ...
- C# 从入门到精通
int i=null; int? i=null; 我们用一个问号 来指定这个值类型是可空的 属性是只读的
- phpcms筛选功能
phpcms论坛的看到的-----做筛选功能-----自定义函数 <?php /** * extention.func.php 用户自定义函数库 * * @copyright (C) 2005- ...
- JS 正则表达式用法
JS 正则表达式用法简介 简单的说,正则表达式是一种可以用于模式匹配和替换的强有力的工具.其作用如下: 测试字符串的某个模式.例如,可以对一个输入字符串进行测试,看在该字符串是否存在一个电话号码模式或 ...