Powershell Get Domain User的几种方法

一、Get-User单用户查询

$User=Get-ADUser -identity wendy -Properties * 

二、Get-User多用户循环查询

$export[email protected]()
$Users=Get-ADUser -Filter * -SearchScope Subtree -SearchBase "OU=xx,OU=xx,dc=xx,dc=xx,dc=xx" -Properties *
foreach($user in $users)
  {
  #$User=Get-ADUser -identity wendy -Properties *
  $name=$user.name
  #这里可以添加多类属性
  $info=New-Object Psobject
  $info |Add-Member -MemberType NoteProperty -Name 姓名 -Value $name
  $export+=$info
  }
$CurrentDate = Get-Date
$CurrentDate = $CurrentDate.ToString(‘yyyy-MM-dd‘)
$export |Export-Csv D:\ps\userPermissioninfo_$CurrentDate.csv -Encoding UTF8 -NoTypeInformation

三、ou查询

functions代码如下,参考http://www.JSchofield22.wordpress.com的代码

function Get-OUWithObjects
{

<#
.SYNOPSIS
Function to get all OUs that contain Users, Groups, or Contacts.

.DESCRIPTION
This function requires Quest ActiveRoles AD Management to be installed. The purpose of this
script is to go out and find any and all OrganizationalUnits which contain Users, Groups, or
Contacts. It performs a count on each type of object and prints them to a CSV File. This is
a useful tool for any Admin getting ready to perform an Active Directory migration in order
to better understand the existing environment. This script does not require and special
privelages in order to run as you‘re only reading from Active Directory.

.PARAMETER Domains
This allows you to input as many domains as you‘d like to scan against. (ex.
-Domains "domain1","domain2","domain3" )

.PARAMETER OutFile
This specifies the directory path and file name for the CSV output. (ex. -Outfile c:\temp.csv)

.NOTES
Name: Get-OUWithObjects.ps1
Author: Josh Schofield
DateCreated: 12/28/2012

.LINK

http://www.JSchofield22.wordpress.com

.EXAMPLE
Get-OUWithObjects -Domains "Domain1","Domain2" -OutFile "C:\temp\test.csv"

#>

param(

[Parameter(Mandatory=$true)]
$Domains,

[Parameter(Mandatory=$true)]
[string]$OutFile

)

if ((Get-PSSnapin -Registered| where {$_.name -eq "quest.activeroles.admanagement"}) -eq $null){Write-Error "Quest.ActiveRoles.ADManagement NOT Installed"}

else {

Get-PSSnapin -Registered| where {$_.name -eq "quest.activeroles.admanagement"} | Add-PSSnapin | Out-Null

if ((test-path $OutFile) -eq "True"){del $OutFile}

$output = @()

foreach ($domain in $domains) {

Connect-QADService $domain

Get-QADObject -Type "organizationalunit" -IncludedProperties name,type,parentcontainer,dn -SizeLimit 0| %{

$ouname = $_.name
$parentcontainer = $_.parentcontainer

$adobjects = get-qadobject -SearchRoot $_.dn -SearchScope OneLevel -IncludedProperties type,name -SizeLimit 0 | where {(($_.type -eq "contact") -or ($_.type -eq "user") -or ($_.type -eq "group"))}
$users = $adobjects | where {$_.type -eq "user"}
$groups = $adobjects | where {$_.type -eq "group"}
$contacts = $adobjects | where {$_.type -eq "contact"}

$results =  "" | Select Domain, Name, UserCount, GroupCount, ContactCount, ParentContainer
$results.Domain = $domain
$results.Name = $ouname
$results.ParentContainer = $parentcontainer

if ($users -ne $null) {

$results.UserCount = $users.count

} #End of User Check

if ($groups -ne $null) {

$results.GroupCount = $groups.count

} #End of User Check

if ($contacts -ne $null) {

$results.ContactCount = $contacts.count

} #End of User Check

$output += $results

Clear-Variable $results -ErrorAction SilentlyContinue
Clear-Variable $ouname -ErrorAction SilentlyContinue
Clear-Variable $parentcontainer -ErrorAction SilentlyContinue

$adobjects = $null
$users = $null
$groups = $null
$contacts = $null

} #End of Get QADObject OU

}

$output | Export-Csv $OutFile -NoTypeInformation

}}

时间: 2024-10-13 19:10:25

Powershell Get Domain User的几种方法的相关文章

Powershell Get Domain Group的几种方法

Group常见属性介绍: 一.Get-ADGroup获取群组(如下例循环获取群组的发送权限) #群组的发送权限info $groups=Get-ADGroup -filter * -SearchScope Subtree -SearchBase "OU=xx,OU=xx,DC=xx,DC=xx,DC=xx" #获取群组名称 $export[email protected]() foreach($group in $groups) { $groupname=$group.SamAccou

Powershell Get Domain Mailbox的几种方法

一.Disconnected Mailboxes 1.Finding Disconnected Mailboxes The first function is called Get-DisconnectedMailbox and the name is pretty much self explanitory. This function will give you a list of all disconnected mailboxes on each of your mailbox serv

iOS 本地存储四种方法(没看)

在iOS开发过程中,不管是做什么应用,都会碰到数据保存的问题.将数据保存到本地,能够让程序的运行更加流畅,不会出现让人厌恶的菊花形状,使得用户体验更好.下面介绍?一下数据保存的方式: 1.NSKeyedArchiver:采用归档的形式来保存数据,该数据对象需要遵守NSCoding协议,并且该对象对应的类必须提 供encodeWithCoder:和initWithCoder:方法.前?一个方法告诉系统怎么对对象进行编码,而后?一个方法则是告诉系统怎 么对对象进行解码.例如对Possession对象

php读取网络文件curl,fsockopen,file_get_contents,file,fopen几种方法

php读取网络文件 curl, fsockopen ,file_get_contents 几个方法的效率对比 最近需要获取别人网站上的音乐数据.用了file_get_contents函数,但是总是会遇到获取失败的问题,尽管按照手册中的 例子设置了超时,可多数时候不会奏效: $config['context'] = stream_context_create(array(‘http’ => array(‘method’ => “GET”,   ’timeout’ => 5//这个超时时间不

SQL Server启动的几种方法

SQL Server 启动有以下几种方法: (1)在Control Panel--Administrative Tools--Services,找到SQL Server (XXX)进行启动. 其中XXX为实例名,默认实例名为"MSSQLSERVER". Figure-1: 在OS Services中启动 (2)在SQL Server Configuration Manager中启动. Figure-2: 在SQL Server Configuration Manager中启动 (3)在

有关WINDOWS XP登录密码的几种方法

网上关于破解WINDOWS XP登录密码的几种方法很多,但许多根本不行.我现在总结自己试过几种,这几种方法其实均比较菜的,但可行的.WINDOWS XP登录是由SAM 文件管理的,总体来说“山姆大叔”是比较难搞定的,所以网上许多方法不行的原因吧.上次在网上看到关于一篇关于SAM 文件的文章,写得不错,但没能收藏起来.反正有不少人在研究这个.我想就是有了破解的方法,高手们也不一定全公布吧,这是由于大家不难知道的原因——安全,他们不便公布!如果很轻易就破了的话,那微软一定要打这个补丁的,那他们的成果

跨域的几种方法

js中几种实用的跨域方法原理详解(转自:http://www.cnblogs.com/2050/p/3191744.html) 这里说的js跨域是指通过js在不同的域之间进行数据传输或通信,比如用ajax向一个不同的域请求数据,或者通过js获取页面中不同域的框架中(iframe)的数据.只要协议.域名.端口有任何一个不同,都被当作是不同的域. 下表给出了相对http://store.company.com/dir/page.html同源检测的结果: 要解决跨域的问题,我们可以使用以下几种方法:

HibernateTemplate、HibernateDaoSupport两种方法实现增删改查Good(转)

Spring+Hibernate两种方法实现增删改查 首先,定义一个Customer的bean类,设置好Customer.hbm.xml文件.再定义好一个Dao接口.准备好一个jdbc.properties文件. 第一种方法: 在dao类中定义一个HibernateTemplate类的对象,用该对象调用HibernateTemplate模板封装好的方法,如下: /*** * hibernateTemplate的转配模式 */ public class CustomerDaoImpl implem

GRIDVIEW传值的两种方法

第一种方法:在onselectedindexchanged中写事件 第二种方法:OnRowCommand事件 前端页面: <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> ? <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1