使用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 许久没更新博客了,但从后台可以查看到,有不少朋友还是几乎每天来逛一逛,很对不起的是最近都没更新啥内容.真是不好意 ...
随机推荐
- 重温CSS之背景、文本样式
CSS背景样式: 背景色:background-color属性,设置元素的背景色,如:div {background:blue;}--设置所有div元素的背景为蓝色: 背景图像:background- ...
- codeforces B. Simple Molecules 解题报告
题目链接:http://codeforces.com/problemset/problem/344/B 题目意思:这句话是解题的关键: The number of bonds of an atom i ...
- HDU 5805 NanoApe Loves Sequence (思维题) BestCoder Round #86 1002
题目:传送门. 题意:题目说的是求期望,其实翻译过来意思就是:一个长度为 n 的数列(n>=3),按顺序删除其中每一个数,每次删除都是建立在最原始数列的基础上进行的,算出每次操作后得到的新数列的 ...
- cf584a(水题)
题意是输出一个能被t整除的n位数... 思路很简单,输出t和n-1个0即可.当然,还需要特判一下t为1,n为10的情况.. 代码如下: #include <bits/stdc++.h> u ...
- 如何 ︰ 执行批量更新和插入使用.NET 提供程序在 C#.NET OpenXML
https://support.microsoft.com/zh-cn/kb/315968 如何 ︰ 执行批量更新和插入使用.NET 提供程序在 C#.NET OpenXML Email Prin ...
- 搭建邮局(邮件服务器) - hmailserver
1.查看服务器mx是否解析成功 nslookup set type=mx 2.hmailserver服务器 smtp设置 3.foxmail 设置 4.使用webmail(after ...
- Spark编译安装和运行
一.环境说明 Mac OSX Java 1.7.0_71 Spark 二.编译安装 tar -zxvf spark-.tgz cd spark- ./sbt/sbt assembly ps:如果之前执 ...
- hive笔记(自学整理的)
第一部分:用户管理 创建用户:CREATE DATABASE XXX 查看用户:SHOW DATABASES; 关键查看用户:show databases like 'de.*' 讲解:创建一个用 ...
- C语言输出格式总结
转自:http://www.cnblogs.com/scbzljstudy/archive/2011/02/28/1966887.html 1 一般格式 printf(格式控制,输出表列) ...
- Android调用WebService(转)
Android调用WebService WebService是一种基于SOAP协议的远程调用标准,通过 webservice可以将不同操作系统平台.不同语言.不同技术整合到一块.在Android SD ...