精华内容
下载资源
问答
  • AD域控部署指南

    2014-09-11 16:15:56
    AD域控指南可以让你很轻松的配置ad域控,还附带ccna的学习指南。
  • AD域控中,我们有时需要监控 1、某台计算机上 有哪些账号登录过;2、某个域账号登录过哪些计算机。 在域控服务器端,是不存储各个客户端计算机的登录信息的,我们需要通过powershell脚本来获取各个客户端计算机.

    目录

    前言

     1、在powershell模块路径下,自定义一个Get-LogonUsers模块

    2、重启powershell窗口

    3、计算机配置开启相关功能

    1.WinRM服务开启

    2.配置winrm quickconfig

    4、调用方法

    5、效果展示

    6、脚本源码


    前言

    在AD域控中,我们有时需要监控 1、某台计算机上 有哪些账号登录过;2、某个域账号登录过哪些计算机。

    在域控服务器端,是不存储各个客户端计算机的登录信息的,我们需要通过powershell脚本来获取各个客户端计算机的登录账号记录,本文介绍一个通过自定义powershell模块的方法,来实现上面两个需求,脚本源码在最后,直接复制使用即可,有基础的可以自己根据需求进行二次开发。

    下图是我们域控里,包含的计算机。

     1、在powershell模块路径下,自定义一个Get-LogonUsers模块

    C:\Program Files\WindowsPowershell\Modules 路径下,创建一个Get-LogonUsers文件夹,即创建一个新的powershell模块,创建脚本Get-LogonUsers.psm1脚本,打开脚本,将文章最后的脚本粘贴进去即可。

    2、重启powershell窗口

    如下图,将powershell窗口关闭后,重新打开,新建的模块就自动加载进来了

    3、计算机配置开启相关功能

    AD域控中是不保存 计算机的登录信息的,原理还是通过powershell获取客户端的信息,并将信息抓取过来,所以客户端pc要进行一些设置,开启winrm服务,并进行配置

    1.WinRM服务开启

    2.配置winrm quickconfig

    我的已经配置过了,直接在powershell命令行 输入 winrm quickconfig 一路确认就可以了

    4、调用方法

    1、Get-LogonUsers -computer  计算机名
    查询某台计算机上登录过的账号
    
    2、Get-LogonUsers -OU 指定OU路径
    查询指定OU路径下计算机的登录账号
    
    3、Get-LogonUsers -ALL
    查询所有的计算机账号登录情况

    5、效果展示

    查询格式如下图

    6、脚本源码

    function Get-LogonUsers {
     
    [CmdletBinding()]
     
    param
     
    (
     
    [Parameter ()]
    [String]$Computer,
     
    [Parameter ()]
    [String]$OU,
     
    [Parameter ()]
    [Switch]$All
     
    )
     
    $ErrorActionPreference="SilentlyContinue"
     
    $result=@()
     
    If ($Computer) {
     
    Invoke-Command -ComputerName $Computer -ScriptBlock {quser} | Select-Object -Skip 1 | Foreach-Object {
     
    $b=$_.trim() -replace '\s+',' ' -replace '>','' -split '\s'
     
    If ($b[2] -like 'Disc*') {
     
    $array= ([ordered]@{
    'User' = $b[0]
    'Computer' = $Computer
    'Date' = $b[4]
    'Time' = $b[5..6] -join ' '
    })
     
    $result+=New-Object -TypeName PSCustomObject -Property $array
     
    }
     
    else {
     
    $array= ([ordered]@{
    'User' = $b[0]
    'Computer' = $Computer
    'Date' = $b[5]
    'Time' = $b[6..7] -join ' '
    })
     
    $result+=New-Object -TypeName PSCustomObject -Property $array
     
    }
    }
    }
     
    If ($OU) {
     
    $comp=Get-ADComputer -Filter * -SearchBase "$OU" -Properties operatingsystem
     
    $count=$comp.count
     
    If ($count -gt 20) {
     
    Write-Warning "Search $count computers. This may take some time ... About 4 seconds for each computer"
     
    }
     
    foreach ($u in $comp) {
     
    Invoke-Command -ComputerName $u.Name -ScriptBlock {quser} | Select-Object -Skip 1 | ForEach-Object {
     
    $a=$_.trim() -replace '\s+',' ' -replace '>','' -split '\s'
     
    If ($a[2] -like '*Disc*') {
     
    $array= ([ordered]@{
    'User' = $a[0]
    'Computer' = $u.Name
    'Date' = $a[4]
    'Time' = $a[5..6] -join ' '
    })
     
    $result+=New-Object -TypeName PSCustomObject -Property $array
    }
     
    else {
     
    $array= ([ordered]@{
    'User' = $a[0]
    'Computer' = $u.Name
    'Date' = $a[5]
    'Time' = $a[6..7] -join ' '
    })
     
    $result+=New-Object -TypeName PSCustomObject -Property $array
    }
     
    }
     
    }
     
    }
     
    If ($All) {
     
    $comp=Get-ADComputer -Filter * -Properties operatingsystem
     
    $count=$comp.count
     
    If ($count -gt 20) {
     
    Write-Warning "Search $count computers. This may take some time ... About 4 seconds for each computer ..."
     
    }
     
    foreach ($u in $comp) {
     
    Invoke-Command -ComputerName $u.Name -ScriptBlock {quser} | Select-Object -Skip 1 | ForEach-Object {
     
    $a=$_.trim() -replace '\s+',' ' -replace '>','' -split '\s'
     
    If ($a[2] -like '*Disc*') {
     
    $array= ([ordered]@{
    'User' = $a[0]
    'Computer' = $u.Name
    'Date' = $a[4]
    'Time' = $a[5..6] -join ' '
    })
     
    $result+=New-Object -TypeName PSCustomObject -Property $array
     
    }
     
    else {
     
    $array= ([ordered]@{
    'User' = $a[0]
    'Computer' = $u.Name
    'Date' = $a[5]
    'Time' = $a[6..7] -join ' '
    })
     
    $result+=New-Object -TypeName PSCustomObject -Property $array
     
    }
     
    }
     
    }
    }
    Write-Output $result
    }

    展开全文
  • AD域控服务器器完整资料 包含:script DNS服务 软件自动安装 用户端策略 安全部署
  • AD域控操作案例

    2016-03-04 20:19:11
    适合AD域控开发的入门参考 Const ADS_SCOPE_SUBTREE = 2 Const ADS_PROPERTY_CLEAR = 1 Set objRootDSE = GetObject("LDAP://rootDSE") strADsPath = "LDAP://" & objRootDSE.Get("defaultNamingContext") Set ...
  • AD域控和文件服务器规划方案
  • 通过Python,基于ldap3来实现操作AD域控,账户信息获取、解锁账户、禁用账户、启用账户、重置密码等功能。
  • 搭建一个开发环境( C#开发AD域控自动工具之一) DEMO程序连接到域控服务器( C#开发AD域控自动工具之二) DEMO程序 创建一个用户( C#开发AD域控自动工具之三) 第一个需求,登陆名称绑定计算机名( C#开发AD...

    搭建一个开发环境( C#开发AD域控自动工具之一)

    DEMO程序连接到域控服务器( C#开发AD域控自动工具之二)

    DEMO程序 创建一个用户( C#开发AD域控自动工具之三)

    第一个需求,登陆名称绑定计算机名( C#开发AD域控自动工具之四)

    流程集成的一个小例子( C#开发AD域控自动工具之四续)

    把用户加入组( C#开发AD域控自动工具之五)

    对用户按条件添加一个工作站的绑定( C#开发AD域控自动工具之六)

     

    开发环境:VS2017   .net framework 4.7.2

    域控服务器:WIN2008R2 SERVER

     

    打开VS2017,新建一个WINFORM项目。

    我们放上一个TAB控件,把2个页签改成:用户、组织OU

    在“用户”页签,我们放一个toolstripContainer,在容器中再放入SplitContainer,然后上面放一个工具栏,下面放一个状态栏。

    左边放一个listbox用来显示日志文本,右边放一堆demo按钮。

     登陆域控服务器的用户、密码等等参数,我放到WINFORM自己带的config文件中:

    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
        <startup> 
            <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" />
        </startup>
      
      <appSettings>
        <add key ="AD_admin"      value="administrator"></add>
        <add key ="AD_password"   value="Test123456789"></add>
        <add key ="AD_LDAP"       value="LDAP://192.168.155.250"></add>
        <add key ="AD_DC1"        value="adserv"></add>
        <add key ="AD_DC2"        value="com"></add>
      </appSettings>
      
    </configuration>

    要用系统功能来读App.config文件,我们要添加一个系统的引用:

    我们还要在头文件声明一下引用:

    程序加载的时候,我们把域控的参数,都放到全局变量中:

     

    我们还需要引用一个系统的类库来操作AD:System.DirectoryServices,引用方法同上面的使用config功能一样。

    为了能够去修改用户的密码,在后面我们还要作第三个引用,后面遇到再写。

    然后我们作一个函数去连接域控服务器:

    
            private void IsConnected(string domainName, string userName, string userPwd)
            {          
                try
                {
                    DirectoryEntry domain = new DirectoryEntry();
                    domain.Path = domainName;
                    domain.Username = userName;
                    domain.Password = userPwd;
                    domain.AuthenticationType = AuthenticationTypes.Secure;
                    domain.RefreshCache();
    
                    ps(listBox1, "AD服务器连接成功");                
                }
    
                catch (Exception ex)
                {
                    ps(listBox1, ex.Message);
                }
            }
    
    
            public void ps(ListBox box, string s)
            {
                String line = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + " " + s;
                box.Items.Add(line);
    
            }

    好了,我们把这个函数放到按钮中,运行一下,程序卡住了。

    原来,AD域控服务器虚拟机还没有开起来,把域控服务器打开。

    再点一下按钮,OK,AD域服务器连接成功。

     

     

     

     

    展开全文
  • AD DS 管理工具命令 描述: 该工具的命令集允许您根据指定的标准查询目录。除 dsquery * 之外 (dsquery * 可以查询任何类型的对象),以下每一个 dsquery 命令均可查找一个特定对象类型:dsquery computer - 查找目录中...

    AD DS 管理工具命令

    描述: 该工具的命令集允许您根据指定的标准查询目录。

    除 dsquery * 之外 (dsquery * 可以查询任何类型的对象),

    以下每一个 dsquery 命令均可查找一个特定对象类型:

    dsquery computer - 查找目录中的计算机。

    dsquery contact - 查找目录中的联系人。

    dsquery subnet - 查找目录中的子网。

    dsquery group - 查找目录中的组。

    dsquery ou - 查找目录中的组织单位。

    dsquery site - 查找目录中的站点。

    dsquery server - 查找目录中的 AD DC/LDS 实例。

    dsquery user - 查找目录中的用户。

    dsquery quota - 查找目录中的配额规定。

    dsquery partition - 查找目录中的分区。

    dsquery * - 用通用的 LDAP 查询来查找目录中的任何对象。

    若要查找特定命令的帮助,请键入 "dsquery /?",其中

    是以上所示的受支持对象类型之一。

    例如,dsquery ou /?。

    备注:

    dsquery 命令帮助您查找目录中与指定搜索

    标准匹配的对象: dsquery 的输入是一个搜索标准,

    其输出是与该搜索匹配的一系列对象。若要获取特定对象

    的属性,请使用 dsget 命令(dsget /?)。

    可以将 dsquery 命令的结果通过管道输出,作为一个

    其他目录服务命令行工具(如 dsmod、dsget、dsrm 或 dsmove)的输入。

    可分辨名称中不是用作分隔符的逗号必须用

    反斜杠("/")字符转义(例如,

    "CN=Company/, Inc.,CN=Users,DC=microsoft,DC=com")。

    用在可分辨名称中的反斜杠必须用一个反斜杠转义

    (例如,

    "CN=Sales// Latin America,OU=Distribution Lists,DC=microsoft,DC=com")。

    示例:

    查找过去四个星期内处于非活动状态的计算机并将其从目 录中删除:

    dsquery computer -inactive 4 | dsrm

    查找组织单位所有的用户 "ou=Marketing,dc=microsoft,dc=com" 并将他们添加到

    Marketing Staff 组:

    dsquery user ou=Marketing,dc=microsoft,dc=com | smod group

    "cn=Marketing Staff,ou=Marketing,dc=microsoft,dc=com" -addmbr

    查找姓名以 "John" 开始的所有用户并显示他的办公室号码:

    dsquery user -name John* | dsget user -office

    要显示目录中所给对象属性的任意集,请使用 dsquery * 命令。例如,要显示对象

    (该对象的 DN 是 ou=Test,dc=microsoft,dc=com) 的 sAMAccountName,

    userPrincipalName 和 department 属性:

    dsquery * ou=Test,dc=microsoft,dc=com -scope base

    -attr sAMAccountName userPrincipalName department

    要读取对象(该对象的 DN 是 ou=Test,dc=microsoft,dc=com) 的所有属性:

    dsquery * ou=Test,dc=microsoft,dc=com -scope base -attr *

    目录服务命令行工具帮助:

    dsadd /? - 添加对象的帮助。

    dsget /? - 显示对象的帮助。

    dsmod /? - 修改对象的帮助。

    dsmove /? - 移动对象的帮助。

    dsquery /? - 查找与搜索标准匹配对象的帮助。

    dsrm /? - 删除对象的帮助。

    展开全文
  • PowerShell命令之AD域控

    2020-05-09 11:06:30
    PowerShell命令之AD域控环境简介用户的创建,删除,修改,禁用和启用创建用户:New-ADUser删除用户:Remove-ADUser修改用户:Set-ADUser禁用用户:Disable-ADAccount启用用户:Enable-ADAccount组织单元(OU)的创建,...

    环境简介

    Windows Server 2012R2
    域控:TEST.COM
    OU:OU=Corporation,DC=TEST,DC=COM

    用户的创建,删除,修改,禁用和启用

    创建用户:New-ADUser

    New-ADUser -path "OU=Corporation,DC=TEST,DC=COM" -name "张小明" -Surname "李" -GivenName "小明" -SamAccountName michaelzhang -userPrincipalName michaelzhang@tslj.cn -EmailAddress michaelzhang@tslj.cn -department GZIT -displayname "Michael Zhang Xiao Ming 张小明 (GZIT)" -description "张小明" -manager jamesli -accountpassword (convertto-securestring "PassWord123$%^" -asplaintext -force) -enabled $true -PasswordNeverExpires $true
    

    解释:

    -path    #指定OU路径,必须设置
    -name  #名字,必须设置
    -Surname    #姓
    -GivenName    #名
    -SamAccountName    #账户,必须设置
    -userPrincipalName    #登陆名,必须设置
    -EmailAddress    #邮箱地址
    -department   # 部门
    -employeeID    #工号
    -displayname   # 显示名,必须设置
    -description    #描述
    -manager    #上级领导
    -accountpassword (convertto-securestring "123456" -asplaintext -force) -enabled $true -PasswordNeverExpires $true    #设置密码123456,并启用用户,必须设置
    

    其他属性:

    -OfficePhone#座机号码
    -postalCode#邮政编码
    -State#省份
    -City#市级
    -StreetAddress#具体地址
    

    删除用户:Remove-ADUser

    Remove-ADUser -Identity michaelzhang
    

    解释:

    -Identity
    
    Distinguished Name
        Example: CN=SaraDavis,CN=Europe,CN=Users,DC=corp,DC=contoso,DC=com
    GUID (objectGUID)
        Example: 599c3d2e-f72d-4d20-8a88-030d99495f20
    Security Identifier (objectSid)
        Example: S-1-5-21-3165297888-301567370-576410423-1103
    SAM account name (sAMAccountName)
        Example: saradavis
    

    修改用户:Set-ADUser

    Set-ADUser michaelzhang -City "广州市" -State "广东省"
    

    解释:修改用户所取的属性值Identity 可省略:

    Distinguished Name
    Example: CN=SaraDavis,CN=Europe,CN=Users,DC=corp,DC=contoso,DC=com
    GUID (objectGUID)
    Example: 599c3d2e-f72d-4d20-8a88-030d99495f20
    Security Identifier (objectSid)
    Example: S-1-5-21-3165297888-301567370-576410423-1103
    SAM account name (sAMAccountName)
    Example: saradavis
    

    其他cmdlet parameters没有的属性:

    请使用Add, Remove, Replace and Clear,可以通过指定逗号分隔的列表来修改多个属性
    请注意:
    When you use the Add, Remove, Replace and Clear parameters together, the operations will be performed in the following order:(当您同时使用添加、删除、替换和清除参数时,操作将按以下顺序执行:)
    ..Remove    #移除一个或者多个值,-Remove @{otherTelephone='555-222-2222','555-222-4444'}
    ..Add    #增加一个或者多个值,-Add @{otherTelephone='555-222-1111', '555-222-3333'; otherMobile='555-222-9999' }
    ..Replace #将已有的一个或者多个全部值替换新的一个或者多个值,-Replace @{otherTelephone='555-222-2222'}
    ..Clear #清除一个或者多个属性的所有值,-Clear otherTelephone,FavColors
    

    详细命令如下:

    Set-ADUser GlenJohn -Replace @{title="director";mail="glenjohn@fabrikam.com"}
    
    
    Set-ADUser GlenJohn -Remove @{otherMailbox="glen.john"} -Add @{url="fabrikam.com"} -Replace @{title="manager"} -Clear description
    

    禁用用户:Disable-ADAccount

    Disable-ADAccount -Identity michaelzhang
    

    解释:

    -Identity:
    
    Distinguished Name
    Example: CN=SaraDavis ,CN=Users,DC=corp,DC=contoso,DC=com
    GUID (objectGUID)
    Example: 599c3d2e-f72d-4d20-8a88-030d99495f20
    Security Identifier (objectSid)
    Example: S-1-5-21-3165297888-301567370-576410423-1103
    SAM Account Name (sAMAccountName)
    Example: saradavis
    

    启用用户:Enable-ADAccount

    Enable-ADAccount -Identity michaelzhang
    

    解释:

    -Identity:
    Distinguished Name
    Example: CN=SaraDavis ,CN=Users,DC=corp,DC=contoso,DC=com
    GUID (objectGUID)
    Example: 599c3d2e-f72d-4d20-8a88-030d99495f20
    Security Identifier (objectSid)
    Example: S-1-5-21-3165297888-301567370-576410423-1103
    SAM Account Name (sAMAccountName)
    Example: saradavis
    

    组织单元(OU)的创建,删除,修改和查询

    创建OU:New-ADOrganizationalUnit

    New-ADOrganizationalUnit -Name GZIT -Path "OU=Corporation,DC=TEST,DC=COM" -Description "广州IT" -DisplayName "广州IT" -ProtectedFromAccidentalDeletion $True
    

    解释:
    创建一个名为“UserAccounts”的新组织单元,默认防止意外删除(-ProtectedFromAccidentalDeletion $True)。
    其他可添加的属性:

    -City    #市级
    -Country "CN"    #国家中国
    -Description    #描述
    -DisplayName    #显示名
    -State    #省份
    -StreetAddress    #具体地址
    

    修改OU:Set-ADOrganizationalUnit

    Set-ADOrganizationalUnit -Identity "ou=gzit,OU=Corporation,DC=TEST,DC=COM" -ProtectedFromAccidentalDeletion $True
    

    解释:

    -Identity
    
    A distinguished name
    A GUID (objectGUID)
    其他可修改的属性:
    -City    #市级
    -Country "CN"    #国家中国
    -Description    #描述
    -DisplayName    #显示名
    -State    #省份
    -StreetAddress    #具体地址
    

    删除OU:Remove-ADOrganizationalUnit

    要删除OU,必须设置移除防止意外删除:

    Set-ADOrganizationalUnit -Identity "ou=gzit,OU=Corporation,DC=TEST,DC=COM" -ProtectedFromAccidentalDeletion $False
    

    然后才能删除一个OU及其子元素(-Recursive):

    Remove-ADOrganizationalUnit -Identity "ou=gzit,OU=Corporation,DC=TEST,DC=COM" -Recursive
    

    查询OU:Get-ADOrganizationalUnit

    1.已知道OU:OU=GZIT,OU=Corporation,DC=TEST,DC=COM

    例子1:

    Get-ADUser -Identity "OU=GZIT,OU=Corporation,DC=TEST,DC=COM"
    

    解释:默认返回的结果的属性和值只有如下几个:

    City :
    Country :
    DistinguishedName : OU=GZIT,OU=Corporation,DC=TEST,DC=COM
    LinkedGroupPolicyObjects : {}
    ManagedBy :
    Name : GZIT
    ObjectClass : organizationalUnit
    ObjectGUID : da395c2e-c69c-4052-9331-fba820201726
    PostalCode :
    State :
    StreetAddress :
    

    例子2:

    Get-ADOrganizationalUnit -Identity "OU=GZIT,OU=Corporation,DC=TEST,DC=COM" -Properties *
    

    或者命令:

    Get-ADOrganizationalUnit -Identity "OU=GZIT,OU=Corporation,DC=TEST,DC=COM" -Properties State,City
    

    解释:

    -Properties    #使用此参数检索未包含在默认设置中的属性。要检索和显示的所有属性列表,请使用以下命令::Get-ADUser -Identity michaelzhang -Properties * | Get-Member
    

    例子3.可以通过管道符{|Format-Table(可简写|ft)}指定显示的属性并且格式化缩进(-A)

    例如:

    Get-ADOrganizationalUnit -Identity "OU=GZIT,OU=Corporation,DC=TEST,DC=COM" -Properties * | Format-Table name,State -A
    

    如下为显示结果:

    name State
    ----     -----
    GZIT   
    

    2.-Filter 指定检索activedirectory对象的查询字符串:

     ::= "{"  "}"        #建议用单引号,少用{}
     ::=  |    |  
     ::=   
     ::= "-eq" | "-le" | "-ge" | "-ne" | "-lt" | "-gt"| "-approx" | "-bor" | "-band" | "-recursivematch" | "-like" | "-notlike"
     ::= "-and" | "-or"    #-and都为真,则真,否则假;-or有一个为真,则真,否者为假
     ::= "-not"        #取反:Get-ADOrganizationalUnit -Filter '-NOT Name -like "GZ*"'
     ::=  |   #属性,取其值跟value进行对比
    ::= <compare this value with an  by using the specified >#值,跟属性进行对比
    

    解释:

    :
    "-eq"         #等于
    "-le"         #小于等于
    "-ge"         # 大于等于
    "-ne"         #不等于 
    "-lt"          #小于
    "-gt"         #大于
    "-approx"         # 
    "-bor"         #
    "-band"         # 
    "-recursivematch"         # 
    "-like"          #相似
     "-notlike"         #不相似
    

    多个条件查询:

    Get-ADOrganizationalUnit -Filter 'Name -like "GZ*" -and displayname -like "广州*"' -Properties displayname
    

    关于更多的例子请查看如下链接:about_ActiveDirectory_Filter

    群组(Group)的创建,删除,修改和查询

    创建Group:New-ADGroup

    New-ADGroup -Name "GZIT" -SamAccountName GZIT -GroupCategory Security -GroupScope DomainLocal -DisplayName "GZIT 广州IT部" -Path "OU=CorporationGroup,DC=TEST,DC=COM" -Description "GZIT 广州IT部"
    

    解释:

    -Name    #名称    
    -SamAccountName    #登陆名
    -GroupCategory    #组类别(安全:Security or 1;通讯组:Distribution or 0)
    -GroupScope#组作用域(本地域:DomainLocal or 0;全局:Global or 1;通用:Universal or 2)
    -DisplayName    #显示名
    -Path    #OU位置
    -Description    #描述
    

    删除Group:Remove-ADGroup

    Remove-ADGroup -Identity GZIT
    

    解释:

    -Identity 
    
    A distinguished name
    A GUID (objectGUID)
    A security identifier (objectSid)
    A Security Account Manager account name (sAMAccountName)
    
    

    修改Group:Set-ADGroup

    Set-ADGroup -Identity gzit -Description "GZIT 广州技术部" -DisplayName "GZIT 广州技术部"
    

    解释:修改用户所取的属性值Identity 可省略:

    Distinguished Name
    Example: CN=SaraDavis,CN=Europe,CN=Users,DC=corp,DC=contoso,DC=com
    GUID (objectGUID)
    Example: 599c3d2e-f72d-4d20-8a88-030d99495f20
    Security Identifier (objectSid)
    Example: S-1-5-21-3165297888-301567370-576410423-1103
    SAM account name (sAMAccountName)
    Example: saradavis
    

    其他cmdlet parameters没有的属性:

    请使用Add, Remove, Replace and Clear,可以通过指定逗号分隔的列表来修改多个属性
    请注意:
    When you use the Add, Remove, Replace and Clear parameters together, the operations will be performed in the following order:(当您同时使用添加、删除、替换和清除参数时,操作将按以下顺序执行:)
    ..Remove    #移除一个或者多个值,-Remove @{otherTelephone='555-222-2222','555-222-4444'}
    ..Add    #增加一个或者多个值,-Add @{otherTelephone='555-222-1111', '555-222-3333'; otherMobile='555-222-9999' }
    ..Replace #将已有的一个或者多个全部值替换新的一个或者多个值,-Replace @{otherTelephone='555-222-2222'}
    ..Clear #清除一个或者多个属性的所有值,-Clear otherTelephone
    

    详细命令如下

    Set-ADGroup -Identity gzit -Replace @{mail="gzit@test.com"}
    
    

    查询Group:Get-ADGroup

    1.已知道:Group:gzit

    例子1

    Get-ADGroup -Identity gzit
    

    解释:默认返回的结果的属性和值只有如下几个:

    DistinguishedName : CN=GZIT,OU=CorporationGroup,DC=TEST,DC=COM
    GroupCategory : Security
    GroupScope : DomainLocal
    Name : GZIT
    ObjectClass : group
    ObjectGUID : cda77835-c53b-476c-b37d-46bd87217685
    SamAccountName : GZIT
    SID : S-1-5-21-244923085-1092734215-2872993527-1107
    

    例子2

    Get-ADGroup -Identity gzit -Properties *
    

    或者命令:

    Get-ADGroup -Identity gzit -Properties  mail
    

    解释:

    -Properties    #使用此参数检索未包含在默认设置中的属性。
    				要检索和显示的所有属性列表,请使用以下命令::
    Get-ADGroup -Identity gzit -Properties * | Get-Member
    

    例子3:可以通过管道符{|Format-Table(可简写|ft)}指定显示的属性并且格式化缩进(-A)

    Get-ADGroup -Identity gzit -Properties * | Format-Table name,mail -A
    

    如下为显示结果:

    name mail
    ---- ----
    GZIT gzit@test.com
    

    2.-Filter 指定检索activedirectory对象的查询字符串:

    <filter> ::= "{" <FilterComponentList> "}"        #建议用单引号,少用{}
    <FilterComponentList> ::= <FilterComponent> | <FilterComponent> <JoinOperator> <FilterComponent> | <NotOperator> <FilterComponent>
    <FilterComponent> ::= <attr> <FilterOperator> <value>
    <FilterOperator> ::= "-eq" | "-le" | "-ge" | "-ne" | "-lt" | "-gt"| "-approx" | "-bor" | "-band" | "-recursivematch" | "-like" | "-notlike"
    <JoinOperator> ::= "-and" | "-or"    #-and都为真,则真,否则假;-or有一个为真,则真,否者为假
    <NotOperator> ::= "-not"        #取反:Get-ADGroup -Filter '-not mail -like "gzit*"'
    <attr> ::= <PropertyName> | <LDAPDisplayName of the attribute>  #属性,取其值跟value进行对比
    <value>::= <compare this value with an <attr> by using the specified <FilterOperator>>#值,跟属性进行对比
    

    解释:

    <FilterOperator>:
    
    "-eq"         #等于
    "-le"         #小于等于
    "-ge"         # 大于等于
    "-ne"         #不等于 
    "-lt"          #小于
    "-gt"         #大于
    "-approx"         # 
    "-bor"         #
    "-band"         # 
    "-recursivematch"         # 
    "-like"          #相似
     "-notlike"         #不相似
    

    多个条件查询:

    Get-ADGroup -Filter ' mail -like "gzit*" -and name -like "gzit"'
    

    关于更多的例子请查看如下链接:about_ActiveDirectory_Filter

    查询AD用户、计算机和服务帐户

    Search-ADAccount

    Gets Active Directory user, computer, or service accounts.
    获取活动目录用户、计算机或服务帐户。

    官方文档

    Examples

    -------------------------- EXAMPLE 1 --------------------------
    Search-ADAccount -AccountDisabled | FT Name,ObjectClass -A
    

    解释:
    返回所有禁用的用户、计算机和服务帐户。

    -------------------------- EXAMPLE 2 --------------------------
    Search-ADAccount -AccountDisabled -UsersOnly | FT Name,ObjectClass -A
    

    解释:
    返回所有禁用的用户。

    -------------------------- EXAMPLE 3 --------------------------
    Search-ADAccount -AccountExpired | FT Name,ObjectClass -A
    

    解释:
    返回所有已过期的用户、计算机和服务帐户。

    -------------------------- EXAMPLE 4 --------------------------
    Search-ADAccount -AccountExpiring -TimeSpan 6.00:00:00 | FT Name,ObjectClass -A
    

    解释:
    返回所有将在未来6天内到期的用户、计算机和服务帐户。

    -------------------------- EXAMPLE 5 --------------------------
    Search-ADAccount -AccountInactive -TimeSpan 90.00:00:00 | FT Name,ObjectClass -A
    

    解释:
    返回所有在过去90天内不活跃的帐户。

    -------------------------- EXAMPLE 6 --------------------------
    Search-ADAccount -AccountExpiring -DateTime "3/18/2009" | FT Name,ObjectClass -A
    

    解释:
    返回2009年3月18日到期的所有帐户。

    还要一些其他选项如下:

    -AccountDisabled    #返回所有禁用的用户、计算机和服务帐户。
    -UsersOnly        #查询用户,非计算机和服务账户.
    -ComputersOnly    #查询计算机,非用户和服务账号
    -AccountDisabled    #禁用的用户、计算机或服务帐户
    -PasswordExpired     #返回所有带有永不过期密码的帐户。
    -PasswordNeverExpires        #返回所有带有永不过期密码的帐户。
    -LockedOut            #返回所有被锁定的帐户
    

    查询用户,重置用户密码

    查询用户:Get-ADUser

    1.已知道登录名:michaelzhang

    例子1

    Get-ADUser -Identity michaelzhang
    

    解释:默认返回的结果的属性和值只有如下几个:

    DistinguishedName : CN=张小明,OU=Corporation,DC=TEST,DC=COM
    Enabled : False
    GivenName : 小明
    Name : 张小明
    ObjectClass : user
    ObjectGUID : a4b8132b-9a0f-4204-b1a1-6dfccb50c9f5
    SamAccountName : michaelzhang
    SID : S-1-5-21-244923085-1092734215-2872993527-1104
    Surname : 李
    UserPrincipalName : michaelzhang@tslj.cn
    

    例子2

    Get-ADUser -Identity michaelzhang -Properties *
    

    或者命令:

    GetADUser -Identity michaelzhang -Properties OfficePhone,Organization
    

    解释:

    -Properties    #使用此参数检索未包含在默认设置中的属性。
    要检索和显示的所有属性列表,请使用以下命令::
    Get-ADUser -Identity michaelzhang -Properties * | Get-Member
    

    例子3
    可以通过管道符{|Format-Table(可简写|ft)}指定显示的属性并且格式化缩进(-A)

    例如:

    Get-ADUser -Identity michaelzhang -Properties * | Format-Table name,Emailaddress  -A
    

    如下为显示结果:

    name      Emailaddress
    --------      ------------
    张小明    michaelzhang@tslj.cn
    

    2.-Filter 指定检索activedirectory对象的查询字符串:

    <filter> ::= "{" <FilterComponentList> "}"        #建议用单引号,少用{}
    <FilterComponentList> ::= <FilterComponent> | <FilterComponent> <JoinOperator> <FilterComponent> | <NotOperator> <FilterComponent>
    <FilterComponent> ::= <attr> <FilterOperator> <value>
    <FilterOperator> ::= "-eq" | "-le" | "-ge" | "-ne" | "-lt" | "-gt"| "-approx" | "-bor" | "-band" | "-recursivematch" | "-like" | "-notlike"
    <JoinOperator> ::= "-and" | "-or"    #-and都为真,则真,否则假;-or有一个为真,则真,否者为假
    <NotOperator> ::= "-not"        #取反:Get-ADUser -Filter '-not Emailaddress -like "michaelzhang@tslj.cn"'
    <attr> ::= <PropertyName> | <LDAPDisplayName of the attribute>  #属性,取其值跟value进行对比
    <value>::= <compare this value with an <attr> by using the specified <FilterOperator>>#值,跟属性进行对比
    

    解释:

    <FilterOperator>:
    
    "-eq"         #等于
    "-le"         #小于等于
    "-ge"         # 大于等于
    "-ne"         #不等于 
    "-lt"          #小于
    "-gt"         #大于
    "-approx"         # 
    "-bor"         #
    "-band"         # 
    "-recursivematch"         # 
    "-like"          #相似
     "-notlike"         #不相似
    

    多个条件查询:

    Get-ADUser -Filter 'Emailaddress -like "michaelzhang@tslj.cn" -and name -like "张小明"'
    

    关于更多的例子请查看如下链接:about_ActiveDirectory_Filter

    重置密码:Set-ADAccountPassword

    Set-ADAccountPassword -Identity michaelzhang -Reset -NewPassword (ConvertTo-SecureString -AsPlainText "PassWord123$%^" -Force)
    
    展开全文
  • AD域控开启防火墙后,会造成客户端无法访问现象。 所以需要开启一些对应端口。
  • AD域控多元密码策略

    2020-06-29 14:59:06
    AD域控多元密码策略说明操作打开active directory管理中心添加导航节点新建多元密码策略 说明 可以针对一个或者多个用户,一个组或者多个组,设置密码策略 操作 打开active directory管理中心 添加导航节点 新建...
  • Windows Server 2012 R2 AD域控搭建

    千次阅读 2020-09-01 17:46:22
    打开服务器管理器→添加角色和功能 下一步 下一步 下一步 勾选Active Directory域服务,下一步 添加功能 ...安装完会自动重启,重启完成后登陆系统,查看AD域控已安装 ...至此AD域控搭建完毕 ...
  • AD管理中,有了查询可以为工作省去很多麻烦。几个通用的参数:-limit 0 指定传回符合搜寻条件的对象数目,如果值是 0,将传回所有符合的对象。如果不指定此参数,根据默认将只显示前 100 个结果。-o{dn | rdn | ...
  • Windows-Server-2016中部署AD域控 Windows Server 2016中部署AD 简述 AD是Active Directory的简写中文称活动目录活动目录(Active Directory)主要提供以下功能1服务器及客户端计算机管理2用户服务3资源管理4桌面配置5...
  • AD域控与ISA防火墙控制上网

    千次阅读 2019-03-27 17:48:33
    1.安装AD域控,不同的服务端安装方法不同。以下例举windows server 2003下安装AD域控 2.开始-所有程序-控制面板-添加或删除程序 3.添加/删除Windows组件,选择AD服务和.NET 2.0,然后下一步进行安装。 4.安装成功后...
  • 搭理AD域控服务器

    2014-06-24 11:51:12
    搭建AD域控服务器安装时注意要点:1.sysvol文件夹用来域信息同步。所以会自动共享出来。另外必须安装在ntfs卷下。2.之前没建立dns,可在创建ad时选择创建dns,系统会提示输入IP。Windows2003服务器搭建三:AD域控...
  • 微软AD域控无法自动同步

    千次阅读 2019-05-20 14:39:16
    微软AD域控无法自动同步 域控主备没有同步(两台都操作,手动同步完成后在删除这个注册表) 路径:HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\NTDS\Parameters 名称:Allow Replication With Divergent ...
  • 访客您好,登录后可看更多精彩内容!...您需要 登录 才可以下载或查看,没有帐号?...用 netdom query fsmo 查看AD域控五大角色,确定PDC所在1.png (8.01 KB, 下载次数: 1)2020-5-7 10:26 上传2.用 w32tm ...
  • 搭建一个开发环境( C#开发AD域控自动工具之一) DEMO程序连接到域控服务器( C#开发AD域控自动工具之二) DEMO程序 创建一个用户( C#开发AD域控自动工具之三) 第一个需求,登陆名称绑定计算机名( C#开发AD...
  • 1)AD域控服务报错:无法与GC全局编录联系; 2)DNS服务器报错AD服务异常,在AD 正常前无法成功启动,将定时再次尝试联系AD; 3)AD报错DFS服务异常,导致sysvol文件下的组策略无法下发生效; 4)客户端原组策略失效...
  • 搭建一个开发环境( C#开发AD域控自动工具之一) DEMO程序连接到域控服务器( C#开发AD域控自动工具之二) DEMO程序 创建一个用户( C#开发AD域控自动工具之三) 第一个需求,登陆名称绑定计算机名( C#开发AD...
  • AD域控安装准备工作设置主机名配置静态ip地址安装配置验证部署 准备工作 设置主机名 配置静态ip地址 安装配置 验证部署
  • 搭建一个开发环境( C#开发AD域控自动工具之一) DEMO程序连接到域控服务器( C#开发AD域控自动工具之二) DEMO程序 创建一个用户( C#开发AD域控自动工具之三) 第一个需求,登陆名称绑定计算机名( C#开发AD...
  • AD域控服务器问题解决记录–lsass.exe流量异常 前序 公司对技术部门要求做AD域控的计划,在落实这个计划的过程中,会碰到一些奇奇怪怪的问题,再解决问题后,记录一下过程和事后的感受。 出现 在落实域控的过程中,...
  • 搭建一个开发环境( C#开发AD域控自动工具之一) DEMO程序连接到域控服务器( C#开发AD域控自动工具之二) DEMO程序 创建一个用户( C#开发AD域控自动工具之三) 第一个需求,登陆名称绑定计算机名( C#开发AD...
  • 通过VMware 虚拟一台windows server 2003 服务器作为AD域控服务器,IP地址为【1.1.1.200】,为了今后系统升级、迁移的兼容性,我们AD域控系统用2003英文标准版。虚拟一台xp主机,作为局域网中的客户主机,也作为测试...
  • 额外AD域控安装和部署配置环境准备工作设置主机名配置静态ip地址安装AD域服务添加角色和功能开始之前-安装类型-服务器选择,都默认下一步服务器角色功能,默认下一步AD DS,默认下一步确认,点击"安装"结果配置AD域...
  • 一、使用AD域的好处大企业为了统一管理电脑,公司IT人员都会在公司搭建域控,将公司所有电脑都加入到域中,然后进行权限的集中管理。公司员工电脑加入域后,可以控制员工的登录权限,文件访问权限,打印权限,电脑...
  • 搭建一个开发环境( C#开发AD域控自动工具之一) DEMO程序连接到域控服务器( C#开发AD域控自动工具之二) DEMO程序 创建一个用户( C#开发AD域控自动工具之三) 第一个需求,登陆名称绑定计算机名( C#开发AD...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,020
精华内容 408
关键字:

ad域控