使用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 许久没更新博客了,但从后台可以查看到,有不少朋友还是几乎每天来逛一逛,很对不起的是最近都没更新啥内容.真是不好意 ...
随机推荐
- PHP--TP框架----把查询到的数据,显示在模型(模板)里面
MainController.class.php <?php namespace Home\Controller; use Think\Controller; class MainControl ...
- mongoose学习笔记2--增删改查1
查询 之前我们的集合已经创建成功,我们就先来进行第一步操作 —— 查询. 查询分很多种类型,如条件查询,过滤查询等等,今天只学习了最基本的find查询. 举例: 1.find查询: obj.find( ...
- JUC系列回顾之-CountDownLatch底层原理和示例
CountDownLatch 是一个同步工具类,允许一个线程或者多个线程等待其他线程完成操作,再执行. CountDownLatch(int count) 构造一个用给定计数初始化的 CountDow ...
- SQL 查询CET使用领悟
用到sql的遍历循环查询,如果不考虑用CET,估计又到了自己造轮子的时代了,现在觉得sql的CET确实是个好东西,针对SQL的递归查询,很是不错的方法: with etcRecommandINfo2( ...
- GBK、GB2312、iso-8859-1之间的区别
转自:http://blog.csdn.net/jerry_bj/article/details/5714745 GBK.GB2312.iso-8859-1之间的区别 GB2312,由中华人民共和国政 ...
- 小甲鱼PE详解之区块表(节表)和区块(节)续(PE详解05)
这一讲我们结合实例来谈谈区块表的定义以及各个属性的含义. 首先,我们先用之前学过的一点知识在二进制文件中手动翻找区块表,这样做的好处是可以使你很快的对PE结构牢记于心.学来的东西就是能用的东西,不能用 ...
- HttpURL
* 步骤: 1. new一个URL对象 2. new一个HttpURLConnection对象 3. connection连接 4. getResponseCode() ...
- Hark的数据结构与算法练习之煎饼排序
算法说明 假设煎锅里边有N个煎饼摞在了一起,它们大小不一并且顺序不一致,我们需要通过拿铲子将它们不停的翻个,进行排序,最终得到一个底下是大的煎饼,上边是小的煎饼的序列.这个排序的过程就是煎饼排序. 这 ...
- String的一些蹊跷
字符串不属于基本类型,但是可以像基本类型一样,直接通过字面量赋值,当然也可以通过new来生成一个字符串对象.不过通过字面量赋值的方式和new的方式生成字符串有本质的区别: 通过字面量赋值创建字符串时, ...
- Unity制作游戏中的场景
Unity制作游戏中的场景 1.2.3 场景 在Unity中,场景(Scene)就是游戏开发者制作游戏时,所使用的游戏场景.它是一个三维空间,对应的三维坐标轴分别是X轴.Y轴和Z轴本文选自Unity ...