Mag-alis ng listahan ng mga user mula sa powershell ng ad. Paano makakuha ng listahan ng mga napiling AD group kung saan miyembro ang malaking listahan ng mga user

Magandang hapon po mahal na mga mambabasa at mga subscriber, patuloy naming ginagalugad ang mga kakayahan ng Powershell at Active Directory. Paano mo naaalala ang lahat tungkol sa kanya? mga account ang mga user at computer ay nasa database ng NTDS.dit, lahat ay cool at sentralisado. Kapag ang isang kumpanya ay may higit sa isang system administrator, maaaring magkaroon ng sitwasyon kung saan naipon ang mga basura at hindi kinakailangang mga kredensyal. Tayong lahat ay tao at may mga bagay tayong nakakalimutan, at sa ilang sandali ay maaari tayong magambala, na hahantong din sa pagkalimot mahalagang impormasyon. At dumating kami sa konklusyon na ang Actvie Directory ay hindi maipon aktibong gumagamit(pinaalis o nakalimutan), alinman sa paraan, mabuti tagapangasiwa ng system dapat kilalanin ang mga ito, huwag paganahin ang mga ito at pagkatapos ay tanggalin ang mga ito kung nais, na kung ano ang gagawin namin.

Sa pamamagitan ng ADUC snap-in

Huling beses na binigyan kita ng isang halimbawa ng paggamit Aktibong snap-in Mga Gumagamit ng Direktoryo at mga computer, kung saan hinanap namin ang mga nawawalang computer sa lokal na network na hindi lumabas sa loob ng isang buwan. Ngayon ay gagawin namin ang parehong sa mga account ng gumagamit. May AD ako Windows Server 2012 R2, buksan ang ADUC, para gawin ito pindutin ang WIN+R at ipasok ang dsa.msc.

Sa form ng kahilingan na bubukas, ilagay ang:

  • Humiling ng pangalan > para sa akin ito ay mga nawawalang user
  • Paglalarawan kung kinakailangan
  • Humiling ng ugat > dito maaari mong iwanan ang buong domain, o tukuyin ito sa gustong OU

Pagkatapos ay i-click ang pindutan ng kahilingan.

Sa tab ng mga user makikita namin ang item na "Bilang ng mga araw mula noong huling pag-log in" halimbawa, itinakda ko ito sa 60 araw.

Bilang resulta, matatanggap mo ang listahang kailangan mo ng mga hindi aktibong account ng empleyado.

Sa pamamagitan ng powershell snap-in

Ang parehong bagay ay maaaring gawin sa pamamagitan ng Powershell. Ibibigay ko agad sa iyo ang code kung kaninong gawain isinasagawa ang paghahanap mga hindi aktibong gumagamit, para dito pumili ako ng panahon na 45 araw, hindi pinapagana ang data ng user at inilipat ito sa isang espesyal na itinalagang OU.

$date_with_offset= (Get-Date).AddDays(-45)
$users = Get-ADUser -Properties LastLogonDate -Filter (LastLogonDate -lt $date_with_offset ) | Pagbukud-bukurin LastLogonDate
foreach ($user sa $users) (set-aduser $user -enabled $false; move-adobject -identity $user -targetpath "ou=Fired,ou=Moscow L. users,ou=Location,dc=msk,dc= contoso,dc=com")
Get-ADUser -Properties LastLogonDate -Filter (LastLogonDate -lt $date_with_offset ) | Pagbukud-bukurin LastLogonDate | Pangalan ng FT, LastLogonDate -AutoSize | Out-File c:\Script\users.txt

  • Sa unang linya ay nagdedeklara ka ng variable kung saan itinakda mo ang termino para sa paghahanap
  • Gumawa ng variable at gumawa ng pagpili batay sa huling oras ng pag-log in
  • Mga gumagalaw na user

  • Paggawa ng ulat sa isang file

Higit pang mga kapaki-pakinabang na bagay tungkol sa pakikipagtulungan sa user. Bago gamitin ang mga utos sa ibaba, kailangan mong mag-download Aktibong module Direktoryo, sa pamamagitan ng utos

Get-Help Get-ADUser

Mga script para sa pag-unload ng lahat ng user mula sa MS Active Directory (ITGC)

Ivan Piskunov

Isa sa karaniwang mga pamamaraan pagsasagawa ng audit ITGC para sa catalog Aktibong Direktoryo ay upang makakuha ng pag-download ng lahat ng mga gumagamit ng domain. Batay sa data na nakuha, ang mga pamamaraan ng pagsubok ay nabuo, halimbawa, pag-aaral sa listahan ng mga administrator o pagkilala sa mga user na may nag-expire na password. Ang pinakaepektibong paraan upang lumikha ng ganoong pag-upload ay ang paggamit karaniwang interface PowerShell , mga halimbawa na tatalakayin natin sa artikulong ito

1. Express upload gamit ang PowerShell script

Nasa ibaba ang script ng PowerShell, bilang isa sa pinakasimpleng at mabilis na paraan kumuha ng listahan ng lahat ng mga gumagamit ng AD domain sa CSV na format, na maaaring mabuksan nang walang anumang mga problema sa Excel.

$objSearcher = New-Object System.DirectoryServices.DirectorySearcher $objSearcher.SearchRoot = "LDAP://ou=Users,ou=Departmets,dc=test,dc=ru" $objSearcher.Filter = "(&(objectCategory=person) (!userAccountControl:1.2.840.113556.1.4.803:=2))" $users = $objSearcher.FindAll() # Bilang ng mga account $users.Count $users | ForEach-Object ($user = $_.Properties New-Object PsObject -Property @( Position = $user.description Department = $user.department Login = $user.userprincipalname Telepono = $user.telephonenumber Room = $user.physicaldeliveryofficename Buo pangalan = $user.cn ) ) | I-export-Csv -NoClobber -Encoding utf8 -Path C: list_domain_users.csv

Upang gumana ang script sa iyong system, kailangan mong bahagyang iwasto ito, lalo na ipasok ang mga kinakailangang parameter, i.e. as in sa halimbawang ito ito ang mga parameter Mga gumagamit sa departamento Mga kagawaran sa domain Test.ru. At ipahiwatig din ang landas kung saan naka-save ang file list_domain_users.csv

Pagkatapos mag-unload, kung bubuksan mo ito kaagad list_domain_users.csv , ay magmumukhang hindi nababasa, gayunpaman, gamit ang karaniwang paraan na madali naming maipapasok ito sa format na kailangan namin. Buksan sa Excel list_domain_users.csv , piliin ang unang column, pagkatapos ay pumunta sa tab na “Data” at i-click ang “Text by Column”. Piliin ang "delimited" at i-click ang "Next". handa na!

!Kailangang tandaan, Ano ang script na ito ay hindi magpapakita ng higit sa 1000 mga gumagamit. Para sa maliit na kumpanya Ito ay medyo angkop, ngunit para sa mga may malaking bilang ng mga gumagamit sa kanilang domain, dapat nilang gamitin ang mga pamamaraan na inilarawan sa ibaba.

2. Advanced na PowerShell cmdlet para sa pagtanggap ng mga upload Mga aktibong user Direktoryo

Ang Active Directory Module para sa Windows PowerShell tool (ipinakilala sa Windows Server 2008 R2 at mas mataas) ay nagbibigay-daan sa iyo na lumikha ng mga cmdlet na nagsasagawa ng iba't ibang manipulasyon sa mga object ng AD directory. Ang cmdlet ay ginagamit upang makakuha ng impormasyon tungkol sa mga user at kanilang mga katangian Get-ADUser.

Upang magsimula sa maglunsad ng Powershell window na may mga karapatan ng administrator at i-import ang Active Directory module para sa karagdagang pagkilos:
Activedirectory ng Import-Module

Upang ilista ang lahat ng domain account at, patakbuhin natin ang utos:

Get-ADUser -filter *

Upang bawiin puno ng impormasyon tungkol sa lahat ng magagamit na katangian user tuser, patakbuhin ang command

Get-ADUser -identity tuser -properties *


Halimbawa, interesado kami sa impormasyon tungkol sa petsa ng pagbabago ng password at oras kung kailan ito mag-e-expire . Ang resulta ng command ay maaaring i-export sa isang text file:

Get-ADUser -filter * -properties PasswordExpired, PasswordLastSet, PasswordNeverExpires | ft Pangalan, PasswordExpired, PasswordLastSet, PasswordNeverExpires > C:tempusers.txt

O agad-agad i-upload sa CSV , na magiging maginhawang i-export sa Excel sa hinaharap (bilang karagdagan, gamit ang sort-object, pag-uuri-uriin namin ang talahanayan ayon sa column na PasswordLastSet, at idagdag din kung saan kondisyon– ang username ay dapat maglaman ng string na “Dmitry”)

Get-ADUser -filter * -properties PasswordExpired, PasswordLastSet, PasswordNeverExpires | kung saan ($_.pangalan –tulad ng “*Dmitry*”) | sort-object PasswordLastSet | select-object Name, PasswordExpired, PasswordLastSet, PasswordNeverExpires | I-export-csv -path c:tempuser-password-expires-2015.csv

Sa mga komento sa nakaraang artikulo, naalala namin ang tungkol sa accounting sa Excel sa halip na 1C. Well, tingnan natin kung gaano mo kakilala ang Excel. Ngayon ay ipapakita ko sa iyo kung paano kumuha ng data mula sa Active Directory at magtrabaho kasama nito nang walang mga macro at PowerShell - gamit lamang ang mga karaniwang mekanismo ng Office. Halimbawa, madali kang makakakuha ng analytics sa paggamit ng mga operating system sa iyong organisasyon kung wala ka pang katulad ng Microsoft SCOM. Well, o magpainit lang at alisin ang iyong isip sa mga script.


Siyempre, maaari mong makuha ang data tulad ng sa mga halimbawa sa ibaba nang literal sa isang linya sa PowerShell. Ngunit, una, ang PowerShell ay masyadong boring, at pangalawa, ang Excel ay maaaring dynamic na mag-update ng data - ang mga resultang dokumento ay maaaring mai-publish online at makalimutan ang tungkol sa pag-update sa kanila.

Para magtrabaho sa data, gagamitin ko ang mekanismo ng Power Query. Para sa Office 2010 at 2013 kakailanganin mong i-install ang plugin, sa Microsoft Office 2016 naka-built-in na ang modyul na ito. Sa kasamaang palad, ang karaniwang edisyon ay hindi sapat para sa amin.


Ang mekanismo mismo ay idinisenyo upang tumanggap at magproseso ng data mula sa iba't ibang mga mapagkukunan - mula sa lumang ODBC at mga text file, sa Exchange, Oracle at Facebook. Higit pang mga detalye tungkol sa mekanismo at ang built-in na scripting language na "M" ay naisulat na sa Habré, ngunit titingnan ko ang ilang mga halimbawa ng paggamit Power Query upang kunin ang data mula sa Active Directory.

Warm-up: Tingnan natin kung kailan nag-log in ang aming mga user

Ang kahilingan sa database ng domain mismo ay nilikha sa "Data - Bagong kahilingan― Mula sa ibang mga mapagkukunan ― Mula sa Active Directory.”



Tukuyin ang data source.


Kakailanganin mong pumili ng domain name at ibigay ang kinakailangang impormasyon sa koneksyon. Susunod, piliin ang uri ng mga bagay, sa halimbawang ito - gumagamit. Sa kanan sa preview window, tumatakbo na ang query, na nagpapakita ng preview ng data.



Naghahanda kami ng kahilingan at hinahangaan ang preview.


Dapat mong ihanda muna ang iyong kahilingan sa pamamagitan ng pag-click sa pindutang "i-edit" at pagpili kinakailangang mga hanay. Sa pangkalahatan, ang mga column na ito ay mga klase. Ang bawat isa sa kanila ay naglalaman ng isang set ng mga partikular na katangian ng isang Active Directory object, maliban sa pangunahing column displayName, na mismo ay isang katangian. Magfo-focus ako sa mga klase gumagamit, tao, itaas At securityPrincipal. Ngayon ay kailangan mong pumili kinakailangang katangian mula sa bawat klase gamit ang "extension" - isang icon na may dalawang arrow sa header ng column:

  • Klase gumagamit palawakin sa pamamagitan ng pagpili lastLogonTimestamp At userAccountControl;
  • V tao piliin natin Numero ng telepono;
  • V itaaskapag Nilikha;
  • at sa securityPrincipalSamAccountName.


Pinalawak namin ang kahilingan.


Ngayon ay i-set up natin ang filter: sa partikular, upang hindi makakuha ng mga naka-block na account, kailangan mo ang userAccountControl attribute upang magkaroon ng value na 512 o 66048. Maaaring iba ang filter sa iyong kapaligiran. Maaari kang magbasa nang higit pa tungkol sa katangian sa dokumentasyon ng Microsoft.



Paglalapat ng filter.


Minsan hindi tama ang pagtukoy ng Excel sa format ng data, lalo na ang halaga ng lastLogonTimestamp attribute. Kung ang ganitong kasawian ay biglang dumating sa iyo, maaari mong itakda ang tamang format sa tab na "Convert".

Ngayon ang column ng userAccountControl ay dapat tanggalin - hindi na ito kailangan sa display. At i-click ang "I-download at isara".


Ang resulta ay isang plato na nangangailangan lamang ng kaunting pagtatapos. Halimbawa, palitan ang pangalan ng mga column sa isang bagay na mas nababasa. At i-customize awtomatikong pag-update datos.


Ang awtomatikong pag-update kapag nagbubukas ng talahanayan o sa pamamagitan ng timeout ay na-configure sa tab na “Data” sa “Properties”.



Pagse-set up ng pag-update ng data.


Matapos makumpleto ang pag-set up ng pag-update, maaari mong ligtas na ibigay ang talahanayan sa departamento ng mga tauhan o serbisyo sa seguridad - ipaalam sa kanila kung sino ang nag-log in sa system at kung kailan.


Ang code ng kahilingan sa wikang "M" ay nasa ilalim ng spoiler.

let Source = ActiveDirectory.Domains("domain.ru"), domain.ru = Source()[#"Object Categories"], user1 = domain.ru(), #"Remote Column" = Table.RemoveColumns(user1,( "organizationalPerson", "shadowAccount", "posixAccount", "msExchOmaUser", "msExchBaseClass", "msExchIMRecipient", "msExchCertificateInformation", "msExchMultiMediaUser", "msExchMailStorage", "msExchCustomAttributed", "disting), #"Expanded element securityPrincipal" = Table.ExpandRecordColumn(#"Inalis na column", "securityPrincipal", ("sAMAccountName"), ("sAMAccountName")), #"Expand element top" = Table.ExpandRecordColumn(#"Expand element securityPrincipal ", "top", ("whenCreated"), ("whenCreated")), #"Expand element person" = Table.ExpandRecordColumn(#"Expand element top", "person", ("telephoneNumber"), ("telephoneNumber ")), #"Expand element user" = Table.ExpandRecordColumn(#"Expand element person", "user", ("lastLogonTimestamp", "userAccountControl"), ("lastLogonTimestamp", "userAccountControl")), #"Rows na may filter na inilapat" = Table.SelectRows(#"Expanded user element", bawat isa ( = 512 o = 66048)), #"Changed type" = Table.TransformColumnTypes(#"Mga hilera na may filter na inilapat",(("lastLogonTimestamp", type datetime))), #"Remoted columns1" = Table.RemoveColumns(#"Changed type",("userAccountControl")) sa #"Remoted columns1"

Paggawa ng address book, o kung ano ang gagawin kapag portal ng korporasyon hindi palakaibigan kay AD

Isa pang pagpipilian gamit ang Excel kasabay ng Active Directory - ito ang pagbuo ng isang address book batay sa data ng AD. Ito ay malinaw na address book Magiging may-katuturan lamang ito kung maayos ang domain.


Gumawa tayo ng kahilingan para sa isang bagay gumagamit, palawakin ang klase gumagamit V mail, at klase tao V Numero ng telepono. Tanggalin natin ang lahat ng column maliban sa distinguishedName― inuulit ng istraktura ng domain ang istraktura ng enterprise, kaya ang mga pangalan Mga Yunit ng Organisasyon tumutugma sa mga pangalan ng mga departamento. Katulad nito, ang mga grupo ng seguridad ay maaaring gamitin bilang batayan para sa mga pangalan ng departamento.


Ngayon mula sa linya CN=Username, OU=Accounting Department, OU=Divisions, DC=domain, DC=ru kailangan mong i-extract nang direkta ang pangalan ng departamento. Ang pinakamadaling paraan upang gawin ito ay ang paggamit ng mga delimiter sa tab na Transform.



Pagkuha ng teksto.


Bilang mga delimiter ang ginagamit ko OU= At ,OU=. Sa prinsipyo, sapat na ang kuwit, ngunit ligtas ako.



Maglagay ng mga delimiter.


Ngayon gamit ang filter maaari mong putulin ang hindi kailangan OU, tulad ng mga naka-block na user at builtin, i-configure ang pag-uuri at pag-load ng data sa talahanayan.



Tingnan ang talahanayan ng buod.

Mabilis na ulat sa komposisyon ng mga workstation, nang hindi nagpapakilala ng mga ahente o iba pang paghahanda

Ngayon subukan nating lumikha ng isang kapaki-pakinabang na talahanayan sa pamamagitan ng pagkuha ng data sa mga computer. Gumawa tayo ng isang ulat sa mga operating system na ginagamit ng kumpanya: para dito gagawa kami ng isang kahilingan, ngunit sa oras na ito sa navigator pipiliin namin kompyuter.



Gumagawa kami ng kahilingan para sa object ng computer.


Umalis tayo sa mga klase ng column kompyuter At itaas at palawakin ang mga ito:

  • Klase kompyuter palawakin sa pamamagitan ng pagpili cn, operatingSystem, operatingSystemServicePack At operatingSystemVersion;
  • sa klase itaas piliin natin kapag Nilikha.


Advanced na kahilingan.


Kung nais, maaari kang gumawa ng isang ulat lamang sa mga operating system ng server. Halimbawa, i-filter ayon sa operatingSystem o operatingSystemVersion attribute. Hindi ko ito gagawin, ngunit itatama ko ang pagpapakita ng oras ng paglikha - Interesado lang ako sa taon. Upang gawin ito, sa tab na "Conversion," piliin ang column na kailangan namin at piliin ang "Taon" sa menu na "Petsa".



Kinukuha namin ang taon mula sa oras na pumasok ang computer sa domain.


Ngayon ang natitira na lang ay tanggalin ang column ng displayname bilang hindi kailangan at i-load ang resulta. Ang data ay handa na. Ngayon ay maaari kang magtrabaho sa kanila tulad ng sa isang regular na mesa. Una, gumawa tayo ng pivot table sa tab na "Insert" - " Pivot table" Sumang-ayon tayo sa pagpili ng data source at i-configure ang mga field nito.



Mga setting ng field ng pivot table.


Ngayon ang natitira na lang ay i-customize ang disenyo sa iyong panlasa at humanga sa resulta:



Talahanayan ng buod para sa mga computer sa AD.


Kung ninanais, maaari kang magdagdag iskedyul ng buod, din sa tab na Insert. Sa "Kategorya" (o sa "Mga Hilera", sa panlasa) magdagdag operatingSystem, sa data ― cn. Sa tab na "Disenyo", maaari mong piliin ang uri ng tsart na gusto mo;



Pie chart.


Ngayon ay malinaw na nakikita na, sa kabila ng patuloy na pag-update, ang kabuuang bilang ng mga workstation na may Windows XP at mga server na may Windows 2003 ay medyo malaki. At mayroong isang bagay na dapat pagsikapan.


Ang request code ay nasa ilalim ng spoiler.

let Source = ActiveDirectory.Domains("domain.ru"), domain.ru = Source()[#"Object Categories"], computer1 = domain.ru(), #"Remote Column" = Table.RemoveColumns(computer1,( "user", "organizationalPerson", "person")), #"Iba pang inalis na column" = Table.SelectColumns(#"Remoted columns",("displayName", "computer", "top")), #"Expanded item computer" = Table.ExpandRecordColumn(#"Iba pang malayuang column", "computer", ("cn", "operatingSystem", "operatingSystemServicePack", "operatingSystemVersion"), ("cn", "operatingSystem", "operatingSystemServicePack", " operatingSystemVersion")), #"Extended top element" = Table.ExpandRecordColumn(#"Expand computer element", "top", ("whenCreated"), ("whenCreated")), #"Extracted year" = Table.TransformColumns( #"Expanded element top",(("whenCreated", Date.Year))), #"Remoted columns1" = Table.RemoveColumns(#"Extracted year",("displayName")) sa #"Remoted columns1"

Magdagdag ng Mga Label na Ginagamit upang lumikha, mag-edit, at magtanggal ng mga object ng direktoryo. Magagamit din ng user ang command ldifde upang palawakin ang schema, i-export impormasyon Aktibo Direktoryo ng user at impormasyon ng grupo sa iba pang mga application o serbisyo, at upang punan ang serbisyo ng ADAM (Active Directory Application Mode) ng data mula sa iba pang mga serbisyo ng direktoryo.

Syntax

ldifde [-i] [-f pangalan ng file] [-s server_name] [-c linya1 linya2] [-v] [-j landas] [-t port_number] [-d DN_base] [-r filter_LDAP] [-p rehiyon] [-l LDAP_attribute_list] [-o LDAP_attribute_list] [-g] [-m] [-n] [-k] [-a ] [-b ] [-? ]

Mga pagpipilian

-i Tinutukoy ang mode ng pag-import. Kung ang parameter ay hindi tinukoy, ang export mode ay ginagamit bilang default. -fpangalan ng file Tinutukoy ang pangalan ng import o export na file. -sserver_name Tinutukoy ang computer kung saan dapat isagawa ang operasyon ng pag-import o pag-export. Default na programa ldifde ay isasagawa sa computer kung saan ldifde naka-install. -clinya1 linya2 Pinapalitan ang lahat ng mga pangyayari mga linya1 nilalaman linya2. Karaniwang ginagamit kapag nag-i-import ka ng data mula sa isang domain patungo sa isa pa at kailangan mong palitan ang kilalang pangalan ng domain na gumagawa ng pag-export ( linya1), pag-import ng domain name ( linya2). -v Pinapagana ang mode detalyadong pag-log. -jlandas Tinutukoy ang lokasyon ng log file. Ang default ay ang kasalukuyang landas. -tport_number Tinutukoy ang numero ng port ng LDAP (Lightweight Directory Directory Access Protocol). Access Protocol). Ang default na LDAP port ay 389. Port pandaigdigang katalogo ay 3268. -dDN_base Tinutukoy ang kilalang pangalan ng base sa paghahanap para sa pag-export ng data. -rFilter ng LDAP Gumagawa ng filter sa paghahanap ng LDAP para sa pag-export ng data. Halimbawa, ine-export ng sumusunod na filter ang lahat ng user na may partikular na gitnang pangalan: csvde -r (at(objectClass=Gumagamit)(sn=Apelyido)) -prehiyon Tinutukoy ang lugar ng paghahanap. Ang mga parameter ng saklaw ng paghahanap ay Base, OneLevel At SubTree. -lLDAP_attribute_list Tinutukoy ang listahan ng mga attribute na ibinalik sa mga resulta ng kahilingan sa pag-export. Kung aalisin ang parameter na ito, ibabalik ang lahat ng attribute. -oLDAP_attribute_list Tumutukoy ng listahan ng mga attribute na aalisin sa mga resulta ng kahilingan sa pag-export. Ang opsyong ito ay karaniwang ginagamit kapag nag-e-export ng mga bagay mula sa Active Directory at pagkatapos ay ini-import ang mga ito sa isa pang LDAP-compatible na direktoryo. Kung ang anumang mga katangian ay hindi suportado ng isa pang catalog, maaari silang ibukod mula sa hanay ng resulta gamit ang opsyong ito. -g Tinatanggal ang mga paghahanap sa pahina. -m Inalis ang mga katangiang hindi maaaring isulat, gaya ng ObjectGUID At objectSID. -n Tinatanggal ang pag-export ng mga binary na halaga. -k Binabalewala ang mga error sa panahon ng pagpapatakbo ng pag-import at nagpapatuloy sa pagproseso. Nasa ibaba ang buong listahan hindi pinansin ang mga error:

  • ang bagay ay miyembro na ng grupo;
  • isang paglabag sa klase ng object (ibig sabihin ay hindi umiiral ang tinukoy na klase ng object) kung ang na-import na bagay ay walang iba pang mga katangian;
  • umiiral na ang bagay;
  • paglabag sa paghihigpit;
  • umiiral na ang katangian o halaga;
  • walang ganoong bagay na umiiral.
-adistinguished_name_password Tinutukoy ang pagpapatupad ng isang utos gamit ang tinukoy distinguished_name_user_name At password -b. -bpassword ng domain ng username Tinutukoy ang utos na isasagawa gamit ang tinukoy username, domain at password. Bilang default, isasagawa ang command gamit ang mga kredensyal ng user na nasa kasalukuyang sandali nakarehistro sa network. Hindi magagamit sa parameter -a. -? Nagpapakita ng menu ng mga utos.

Mga Tala

  • Gamit ang parameter -c maaari mong gamitin ang mga constants #schemaNamingContext At #configurationNamingContext sa halip na ang mga natatanging pangalan ng schema directory partition at configuration directory partition.
  • Kapag gumagawa ng import file para sa isang command ldifde, gamitin ang halaga changeType upang matukoy ang uri ng mga pagbabagong nakapaloob sa import file. Mga halaga changeType ay ibinigay sa talahanayan sa ibaba.

Nasa ibaba ang isang halimbawa ng isang LDAP import file sa LDIF format na gumagamit ng value idagdag:
DN: CN=pinili_gamit,DC=domain_name
changetype: idagdag
CN: pinili_gamit
paglalarawan:file_description
objectClass: gumagamit
objectClass: pinili_gamit

Mga halimbawa

Upang kunin lamang ang nakikilalang pangalan, karaniwang pangalan, unang pangalan, apelyido at numero ng telepono ng mga ibinalik na bagay, ilagay ang:
-l distinguished_name, CN, Pangalan, S.N. telepono
Upang ibukod ang isang globally unique identifier (GUID) para sa isang object, ilagay ang:
-o kapag_nalikha, kapag_nagbago, object_GUID

Ngayon ay susubukan naming mag-upload ng listahan ng lahat ng mga user hiwalay na file mula sa Active Directory. Ang aming pangunahing katulong sa bagay na ito ay ang PowerShell. Ang bagay ay ang Microsoft sa una ay nagplano ng isang koponan PowerShell console bilang pangunahing tool para sa pamamahala ng server Mga bahagi ng Windows. At ngayon, kapag mayroon na tayong bersyon 2.0, sa pangkalahatan, ganito.

Kahit na sa kamakailang nakaraan, upang kahit papaano ay makipag-ugnayan sa AD, ang mga administrador ay kailangang magkaroon sa kanilang pagtatapon alinman sa dsquery utility o iba't ibang uri ng mga script o utility. Simula ngayon Mga bersyon ng Windows Server 2008 R2, maaari kaming magtrabaho kasama ang AD sa pamamagitan ng PowerShell. Sa pagdating ng PowerShell 2.0, isang espesyal na module ang ginagamit upang makipag-ugnayan sa Active Directory Active Directory Module para sa Windows PowerShell , na naglalaman ng kinakailangang listahan ng mga cmdlet. Para sa aming mga gawain gagamitin namin ang utos Get-ADUser.

Kaya, depende kung alin ang nasa ilalim ng kontrol operating system ilulunsad namin ang PowerShell console, kakailanganin naming magsagawa ng "mga hakbang sa paghahanda".

1) Kung kami ay nagtatrabaho sa ilalim ng Windows Server hanggang sa bersyon 2012, pagkatapos ay kailangan nating patakbuhin ang utos:

  • Activedirectory ng Import-Module – utos na mag-import ng module sa AD

Para sa mga bersyon ng operating system mula 2012 at mas mataas, ang module na ito ay pinagana na bilang default.

2) Kung nagtatrabaho kami mula sa ilalim ng alinman Windows ng kliyente, pagkatapos ay dapat na mai-install ang package dito malayong pangangasiwa RSAT, na may naka-install na bahagi ng Active Directory Module para sa Windows PowerShell.

Ito ay nagkakahalaga ng pagpuna na ang Get-ADUser cmdlet ay inirerekomenda na isagawa kapag ang dami ng data na ina-upload ay hanggang sa 1000 mga gumagamit.

Pag-export ng mga user ng AD gamit ang PowerShell sa isang hiwalay na file

Una, tawagan natin ang tulong para sa Get-ADUser command. Bilang resulta, makukuha mo ang lahat kinakailangang mga utos para sa karagdagang pangangasiwa.

  • tulungan ang Get-ADUser – utos na tumawag ng tulong

Para makapasok sa bintana Listahan ng PowerShell lahat ng mga gumagamit na may lahat ng mga katangian, kailangan mong patakbuhin ang sumusunod na command:

  • Get-ADUser -filter * – i-export ang isang listahan ng mga gumagamit ng AD

Ang pag-download na ito ay hindi ganap na nagbibigay-kaalaman at hindi akma sa lahat ng bagay sa window. kinakailangang impormasyon. Samakatuwid, subukan nating paliitin ang paghahanap at ipakita ang mga katangian tiyak na gumagamit na may pangalang user1:

  • Get-ADUser -identity user1 -properties * – pag-export ng mga katangian ng isang partikular na user

Ngayon subukan nating i-export ang listahan ng lahat ng user kasama ang kanilang mga property sa isang external txt o csv file:

  • Get-ADUser -filter * -properties * | I-export-csv -path c:\users.csv -encoding Unicode – i-export ang mga user sa isang hiwalay na file

Gusto kong bigyan ng espesyal na pansin ang susi -pag-encode ng Unicode. Ito ay nagsisilbi upang matiyak na ang Russian Cyrillic alphabet, pagkatapos ng pag-export mula sa AD, ay maipapakita nang tama sa na-upload na file. Halimbawa, sa pamamagitan ng Microsoft Excel makikita natin tandang pananong sa halip na mga letrang Ruso.

Kapag tinitingnan ang isang file, ang data ay nai-export sa isang linya at samakatuwid ay hindi nababasa. Upang baguhin ito kailangan nating gawin ang sumusunod: