Actief directorybeheer. Active Directory beheren met Windows PowerShell. Gebruikersaccounts toevoegen

Active Directory (AD) is een hulpprogramma dat is ontworpen voor het Microsoft Server-besturingssysteem. Het is oorspronkelijk gemaakt als een lichtgewicht algoritme voor toegang tot gebruikersmappen. Sinds de versie van Windows Server 2008 is er integratie met autorisatiediensten verschenen.

Maakt het mogelijk om te voldoen aan groepsbeleid dat hetzelfde type instellingen en software toepast op alle gecontroleerde pc's met behulp van System Center Configuration Manager.

In eenvoudige bewoordingen voor beginners: dit is een serverrol waarmee u alle toegang en machtigingen op het lokale netwerk vanaf één plek kunt beheren

Functies en doeleinden

Microsoft Active Directory – (de zogenaamde directory) een pakket tools waarmee u gebruikers en netwerkgegevens kunt manipuleren. Hoofddoel creatie – het werk van systeembeheerders in grote netwerken vergemakkelijken.

Directory's bevatten verschillende informatie met betrekking tot gebruikers, groepen, netwerkapparaten, bestandsbronnen - kortom objecten. De gebruikerskenmerken die in de directory zijn opgeslagen, moeten bijvoorbeeld de volgende zijn: adres, login, wachtwoord, mobiel telefoonnummer, enz. De map wordt gebruikt als authenticatie punten, waarmee u de nodige informatie over de gebruiker kunt achterhalen.

Basisbegrippen die men tegenkomt tijdens het werk

Er zijn een aantal gespecialiseerde concepten die worden gebruikt bij het werken met AD:

  1. Server is een computer die alle gegevens bevat.
  2. De controller is een server met de AD-rol die verzoeken verwerkt van mensen die het domein gebruiken.
  3. Een AD-domein is een verzameling apparaten verenigd onder één unieke naam, die tegelijkertijd gebruik maken van een gemeenschappelijke directorydatabase.
  4. De gegevensopslag is het deel van de directory dat verantwoordelijk is voor het opslaan en ophalen van gegevens van elke domeincontroller.

Hoe actieve mappen werken

De belangrijkste werkingsprincipes zijn:

  • Autorisatie, waarmee u uw pc eenvoudig op het netwerk kunt gebruiken door eenvoudigweg uw persoonlijke wachtwoord in te voeren. In dit geval wordt alle informatie van het account overgedragen.
  • Beveiliging. Active Directory bevat gebruikersherkenningsfuncties. Voor elk netwerkobject kunt u op afstand, vanaf één apparaat, de benodigde rechten instellen, afhankelijk van de categorieën en specifieke gebruikers.
  • Netwerkbeheer vanaf één punt. Bij het werken met Active Directory hoeft de systeembeheerder niet alle pc's opnieuw te configureren als het nodig is om toegangsrechten voor bijvoorbeeld een printer te wijzigen. Wijzigingen worden op afstand en wereldwijd doorgevoerd.
  • Vol DNS-integratie. Met zijn hulp is er geen verwarring in AD; alle apparaten worden precies hetzelfde aangeduid als op het World Wide Web.
  • Grootschalig. Een set servers kan worden bestuurd door één Active Directory.
  • Zoekopdracht uitgevoerd op basis van verschillende parameters, bijvoorbeeld computernaam, login.

Objecten en attributen

Een object is een reeks attributen, verenigd onder een eigen naam, die een netwerkbron vertegenwoordigen.

Attribuut - kenmerken van een object in de catalogus. Deze omvatten bijvoorbeeld de volledige naam en login van de gebruiker. Maar de kenmerken van een pc-account kunnen de naam van deze computer en de beschrijving ervan zijn.

“Werknemer” is een object dat de attributen “Naam”, “Positie” en “TabN” heeft.

LDAP-container en naam

Container is een type object dat dat wel kan bestaan ​​uit andere voorwerpen. Een domein kan bijvoorbeeld accountobjecten bevatten.

Hun hoofddoel is objecten organiseren op basis van soorten tekens. Meestal worden containers gebruikt om objecten met dezelfde attributen te groeperen.

Bijna alle containers brengen een verzameling objecten in kaart, en bronnen worden toegewezen aan een uniek Active Directory-object. Een van de belangrijkste typen AD-containers is de organisatiemodule of OU (organisatie-eenheid). Objecten die in deze container worden geplaatst, behoren alleen tot het domein waarin ze zijn gemaakt.

Lightweight Directory Access Protocol (LDAP) is het basisalgoritme voor TCP/IP-verbindingen. Het is ontworpen om de hoeveelheid nuance te verminderen bij de toegang tot directoryservices. LDAP definieert ook de acties die worden gebruikt om directorygegevens op te vragen en te bewerken.

Boom en site

Een domeinboom is een structuur, een verzameling domeinen die een gemeenschappelijk schema en configuratie hebben, die een gemeenschappelijke naamruimte vormen en met elkaar zijn verbonden door vertrouwensrelaties.

Een domeinbos is een verzameling bomen die met elkaar zijn verbonden.

Een site is een verzameling apparaten in IP-subnetten, die een fysiek model van het netwerk vertegenwoordigen, waarvan de planning wordt uitgevoerd ongeacht de logische weergave van de constructie ervan. Active Directory heeft de mogelijkheid om een ​​n-aantal sites aan te maken of een n-aantal domeinen onder één site te combineren.

Active Directory installeren en configureren

Laten we nu direct overgaan tot het instellen van Active Directory met Windows Server 2008 als voorbeeld (de procedure is identiek voor andere versies):

Klik op de knop "OK". Het is vermeldenswaard dat dergelijke waarden niet vereist zijn. U kunt het IP-adres en de DNS van uw netwerk gebruiken.

  • Vervolgens moet u naar het menu "Start" gaan, "Beheer" en "" selecteren.
  • Ga naar het item “Rollen”, selecteer de “ Rollen toevoegen”.
  • Selecteer “Active Directory Domain Services”, klik tweemaal op “Volgende” en vervolgens op “Installeren”.
  • Wacht tot de installatie is voltooid.
  • Open het menu “Start”-“ Uitvoeren" Voer dcpromo.exe in het veld in.
  • Klik op “Volgende”.
  • Selecteer “ Maak een nieuw domein in een nieuw forest' en klik nogmaals op 'Volgende'.
  • Voer in het volgende venster een naam in en klik op “Volgende”.
  • Kiezen compatibiliteitsmodus(WindowsServer 2008).
  • Laat in het volgende venster alles zoals standaard.
  • Zal beginnen configuratievensterDNS. Omdat het nog niet eerder op de server was gebruikt, is er geen delegatie gemaakt.
  • Selecteer de installatiemap.
  • Na deze stap moet u instellen beheerderswachtwoord.

Om veilig te zijn, moet het wachtwoord aan de volgende vereisten voldoen:


Nadat AD het componentconfiguratieproces heeft voltooid, moet u de server opnieuw opstarten.



De installatie is voltooid, de module en de rol zijn op het systeem geïnstalleerd. U kunt AD alleen installeren op de reguliere versies van Windows Server, bijvoorbeeld 7 of 10, waarbij u mogelijk alleen de beheerconsole kunt installeren.

Beheer in Active Directory

In Windows Server werkt de console Active Directory: gebruikers en computers standaard met het domein waartoe de computer behoort. U hebt toegang tot computer- en gebruikersobjecten in dit domein via de consolestructuur of kunt verbinding maken met een andere controller.

Met de tools in dezelfde console kunt u bekijken extra opties objecten en ernaar zoeken, kunt u nieuwe gebruikers en groepen aanmaken en machtigingen wijzigen.

Trouwens, dat is zo 2 soorten groepen in de Asset Directory - beveiliging en distributie. Beveiligingsgroepen zijn verantwoordelijk voor het afbakenen van toegangsrechten tot objecten; ze kunnen worden gebruikt als distributiegroepen.

Distributiegroepen kunnen geen onderscheid maken tussen rechten en worden voornamelijk gebruikt voor het distribueren van berichten op het netwerk.

Wat is AD-delegatie

Delegatie zelf wel overdracht van een deel van de rechten en controle van de ouder naar een andere verantwoordelijke partij.

Het is bekend dat elke organisatie meerdere systeembeheerders op het hoofdkantoor heeft. Er moeten verschillende taken aan verschillende schouders worden toegewezen. Om wijzigingen toe te passen, moet u over rechten en machtigingen beschikken, die zijn onderverdeeld in standaard en speciaal. Specifieke machtigingen zijn van toepassing op een specifiek object, terwijl standaardmachtigingen een reeks bestaande machtigingen zijn die specifieke functies beschikbaar of niet beschikbaar maken.

Vertrouwen opbouwen

Er zijn twee soorten vertrouwensrelaties in AD: 'unidirectioneel' en 'bidirectioneel'. In het eerste geval vertrouwt het ene domein het andere, maar niet andersom: het eerste heeft toegang tot de bronnen van het tweede en het tweede heeft geen toegang; In het tweede type is vertrouwen ‘wederzijds’. Er zijn ook ‘uitgaande’ en ‘inkomende’ relaties. Bij uitgaand vertrouwen vertrouwt het eerste domein het tweede, waardoor gebruikers van het tweede domein de bronnen van het eerste kunnen gebruiken.

Tijdens de installatie moeten de volgende procedures worden gevolgd:

  • Rekening netwerkverbindingen tussen controllers.
  • Controleer instellingen.
  • Stem af naamresolutie voor externe domeinen.
  • Creëer een verbinding vanuit het vertrouwende domein.
  • Maak een verbinding vanaf de kant van de controller waaraan de vertrouwensrelatie is gericht.
  • Controleer de gemaakte eenrichtingsrelaties.
  • Als de behoefte ontstaat bij het aangaan van bilaterale betrekkingen - maak een installatie.

Globale catalogus

Dit is een domeincontroller die kopieën opslaat van alle objecten in het forest. Het geeft gebruikers en programma's de mogelijkheid om naar objecten in elk domein van het huidige bos te zoeken hulpmiddelen voor het ontdekken van attributen opgenomen in de globale catalogus.

De globale catalogus (GC) bevat een beperkte set kenmerken voor elk forest-object in elk domein. Het ontvangt gegevens van alle domeinmappartities in het forest en wordt gekopieerd met behulp van het standaard Active Directory-replicatieproces.

Het schema bepaalt of het attribuut wordt gekopieerd. Er is een mogelijkheid aanvullende functies configureren, die opnieuw wordt gemaakt in de globale catalogus met behulp van het “Active Directory Schema”. Om een ​​attribuut aan de globale catalogus toe te voegen, moet u het replicatieattribuut selecteren en de optie “Kopiëren” gebruiken. Hierdoor ontstaat een replicatie van het attribuut naar de globale catalogus. Kenmerkparameterwaarde isMemberOfPartialAttributeSet zal waar worden.

Om te locatie ontdekken globale catalogus, moet u op de opdrachtregel invoeren:

Dsquery-server –isgc

Gegevensreplicatie in Active Directory

Replicatie is een kopieerprocedure die wordt uitgevoerd wanneer het nodig is om even actuele informatie op te slaan die op een controller aanwezig is.

Het wordt geproduceerd zonder deelname van de operator. Er zijn de volgende typen replica-inhoud:

  • Gegevensreplica's worden gemaakt op basis van alle bestaande domeinen.
  • Replica's van gegevensschema's. Omdat het gegevensschema hetzelfde is voor alle objecten in het Active Directory-forest, worden replica's ervan in alle domeinen onderhouden.
  • Configuratiegegevens. Toont de constructie van kopieën tussen controllers. De informatie wordt gedistribueerd naar alle domeinen in het forest.

De belangrijkste typen replica's zijn intra-node en internode.

In het eerste geval wacht het systeem na de wijzigingen en waarschuwt vervolgens de partner om een ​​replica te maken om de wijzigingen te voltooien. Zelfs als er geen wijzigingen plaatsvinden, vindt het replicatieproces na een bepaalde periode automatisch plaats. Nadat de belangrijkste wijzigingen op mappen zijn toegepast, vindt replicatie onmiddellijk plaats.

Replicatieprocedure tussen knooppunten gebeurt er tussenin minimale belasting van het netwerk, dit voorkomt informatieverlies.

Active Directory biedt systeembeheerdiensten. Ze zijn een veel beter alternatief voor lokale groepen en stellen u in staat computernetwerken te creëren met efficiënt beheer en betrouwbare gegevensbescherming.

Als u het concept van Active Directory nog niet eerder bent tegengekomen en niet weet hoe dergelijke services werken, dan is dit artikel iets voor u. Laten we eens kijken wat dit concept betekent, wat de voordelen zijn van dergelijke databases en hoe u ze kunt maken en configureren voor het eerste gebruik.

Active Directory is een zeer handige manier van systeembeheer. Met Active Directory kunt u uw gegevens effectief beheren.

Met deze services kunt u één database maken die wordt beheerd door domeincontrollers. Als u een bedrijf bezit, een kantoor beheert of in het algemeen de activiteiten controleert van veel mensen die verenigd moeten worden, zal zo'n domein nuttig voor u zijn.

Het omvat alle objecten - computers, printers, faxen, gebruikersaccounts, enz. De som van domeinen waarop gegevens zich bevinden, wordt een ‘forest’ genoemd. De Active Directory-database is een domeinomgeving waarin het aantal objecten maximaal 2 miljard kan zijn. Kunt u zich deze weegschaal voorstellen?

Dat wil zeggen dat u met behulp van zo'n "bos" of database een groot aantal werknemers en apparatuur op kantoor kunt verbinden, en zonder gebonden te zijn aan een locatie - andere gebruikers kunnen ook verbonden zijn met de services, bijvoorbeeld vanuit een bedrijfskantoor in een andere stad.

Bovendien worden in het kader van Active Directory-services verschillende domeinen aangemaakt en gecombineerd: hoe groter het bedrijf, hoe meer tools er nodig zijn om de apparatuur binnen de database te controleren.

Verder wordt, wanneer een dergelijk netwerk wordt gecreëerd, één controlerend domein bepaald, en zelfs met de daaropvolgende aanwezigheid van andere domeinen blijft het oorspronkelijke domein nog steeds 'ouder' - dat wil zeggen dat alleen het volledige toegang heeft tot informatiebeheer.

Waar worden deze gegevens opgeslagen en wat zorgt voor het bestaan ​​van domeinen? Om Active Directory te creëren, worden controllers gebruikt. Meestal zijn er twee - als er iets met één gebeurt, wordt de informatie opgeslagen op de tweede controller.

Een andere mogelijkheid om de database te gebruiken is als uw bedrijf bijvoorbeeld samenwerkt met een ander bedrijf en u een gemeenschappelijk project moet voltooien. In dit geval hebben onbevoegden mogelijk toegang tot domeinbestanden nodig, en hier kunt u een soort “relatie” tussen twee verschillende “foresten” tot stand brengen, waardoor toegang tot de vereiste informatie mogelijk wordt gemaakt zonder de veiligheid van de resterende gegevens in gevaar te brengen.

Over het algemeen is Active Directory een hulpmiddel voor het creëren van een database binnen een bepaalde structuur, ongeacht de grootte ervan. Gebruikers en alle apparatuur worden verenigd in één “forest”, domeinen worden aangemaakt en op controllers geplaatst.

Het is ook raadzaam om te verduidelijken dat services alleen kunnen werken op apparaten met Windows-serversystemen. Bovendien worden er 3-4 DNS-servers op de controllers aangemaakt. Ze bedienen de hoofdzone van het domein, en als een van hen uitvalt, worden deze door andere servers vervangen.

Na een kort overzicht van Active Directory voor Dummies bent u uiteraard geïnteresseerd in de vraag: waarom zou u een lokale groep voor een hele database wijzigen? Uiteraard is het veld van mogelijkheden hier vele malen groter, en om andere verschillen tussen deze diensten voor systeembeheer te ontdekken, laten we hun voordelen eens nader bekijken.

Voordelen van Active Directory

De voordelen van Active Directory zijn:

  1. Eén enkele bron gebruiken voor authenticatie. In deze situatie moet u op elke pc alle accounts toevoegen die toegang tot algemene informatie vereisen. Hoe meer gebruikers en apparatuur er zijn, hoe moeilijker het is om deze gegevens onderling te synchroniseren.

En dus worden bij het gebruik van services met een database accounts op één punt opgeslagen en worden wijzigingen onmiddellijk op alle computers van kracht.

Hoe werkt dit? Elke medewerker die naar kantoor komt, start het systeem en logt in op zijn account. Het inlogverzoek wordt automatisch naar de server verzonden en de authenticatie vindt via deze plaats plaats.

Wat betreft een bepaalde volgorde bij het bijhouden van de administratie, kunt u gebruikers altijd in groepen verdelen: "HR-afdeling" of "Boekhouding".

In dit geval is het nog eenvoudiger om toegang tot informatie te verlenen: als u een map moet openen voor medewerkers van één afdeling, doet u dit via de database. Samen krijgen zij toegang tot de benodigde map met gegevens, terwijl voor anderen de documenten gesloten blijven.

  1. Controle over elke databasedeelnemer.

Als in een lokale groep elk lid onafhankelijk is en moeilijk te besturen vanaf een andere computer, dan kun je in domeinen bepaalde regels instellen die voldoen aan het bedrijfsbeleid.

Als systeembeheerder kunt u toegangs- en beveiligingsinstellingen instellen en deze vervolgens op elke gebruikersgroep toepassen. Afhankelijk van de hiërarchie kunnen sommige groepen uiteraard strengere instellingen krijgen, terwijl andere toegang kunnen krijgen tot andere bestanden en acties in het systeem.

Wanneer een nieuwe persoon bij het bedrijf komt, ontvangt zijn computer bovendien onmiddellijk de nodige instellingen, inclusief componenten voor het werk.

  1. Veelzijdigheid bij software-installatie.

Over componenten gesproken: met Active Directory kun je printers toewijzen, de benodigde programma's voor alle medewerkers in één keer installeren en privacy-instellingen instellen. Over het algemeen zal het creëren van een database het werk aanzienlijk optimaliseren, de beveiliging bewaken en gebruikers verenigen voor maximale werkefficiëntie.

En als een bedrijf een afzonderlijk nutsbedrijf of speciale diensten exploiteert, kunnen deze worden gesynchroniseerd met domeinen en de toegang daartoe worden vereenvoudigd. Hoe? Als u alle producten combineert die in het bedrijf worden gebruikt, hoeft de werknemer geen verschillende logins en wachtwoorden in te voeren om elk programma te openen - deze informatie zal gebruikelijk zijn.

Nu de voordelen en betekenis van het gebruik van Active Directory duidelijk worden, gaan we kijken naar het installatieproces van deze services.

Wij gebruiken een database op Windows Server 2012

Het installeren en configureren van Active Directory is geen moeilijke taak, en is bovendien eenvoudiger dan het op het eerste gezicht lijkt.

Om services te laden, moet u eerst het volgende doen:

  1. Wijzig de computernaam: klik op “Start”, open het Configuratiescherm, selecteer “Systeem”. Selecteer "Instellingen wijzigen" en klik in Eigenschappen, tegenover de regel "Computernaam", op "Wijzigen", voer een nieuwe waarde in voor de hoofd-pc.
  2. Start uw pc indien nodig opnieuw op.
  3. Stel de netwerkinstellingen als volgt in:
    • Via het controlepaneel open je het menu met netwerken en delen.
    • Pas de adapterinstellingen aan. Klik met de rechtermuisknop op “Eigenschappen” en open het tabblad “Netwerk”.
    • Klik in het venster uit de lijst op Internetprotocol nummer 4 en klik opnieuw op "Eigenschappen".
    • Voer de vereiste instellingen in, bijvoorbeeld: IP-adres - 192.168.10.252, subnetmasker - 255.255.255.0, hoofdgateway - 192.168.10.1.
    • Geef in de regel "Voorkeurs-DNS-server" het adres van de lokale server op, in "Alternatief..." - andere DNS-serveradressen.
    • Sla uw wijzigingen op en sluit de vensters.

Stel Active Directory-rollen als volgt in:

  1. Open Serverbeheer via Start.
  2. Selecteer in het menu Rollen en functies toevoegen.
  3. De wizard wordt gestart, maar u kunt het eerste venster met een beschrijving overslaan.
  4. Controleer de regel “Rollen en componenten installeren”, ga verder.
  5. Selecteer uw computer om Active Directory erop te installeren.
  6. Selecteer uit de lijst de rol die moet worden geladen - in uw geval is dit “Active Directory Domain Services”.
  7. Er verschijnt een klein venster waarin u wordt gevraagd de componenten te downloaden die nodig zijn voor de services - accepteer dit.
  8. U wordt dan gevraagd om andere componenten te installeren. Als u deze niet nodig heeft, kunt u deze stap overslaan door op “Volgende” te klikken.
  9. De installatiewizard geeft een venster weer met beschrijvingen van de services die u installeert - lees en ga verder.
  10. Er verschijnt een lijst met componenten die we gaan installeren. Controleer of alles correct is en zo ja, druk dan op de juiste knop.
  11. Wanneer het proces is voltooid, sluit u het venster.
  12. Dat is alles: de services worden naar uw computer gedownload.

Active Directory instellen

Om een ​​domeinservice te configureren, moet u het volgende doen:

  • Start de gelijknamige installatiewizard.
  • Klik op de gele aanwijzer bovenaan het venster en selecteer 'Promote the server to a domain controller'.
  • Klik op een nieuw forest toevoegen, maak een naam voor het hoofddomein en klik vervolgens op Volgende.
  • Specificeer de werkingsmodi van het "bos" en het domein - meestal vallen ze samen.
  • Maak een wachtwoord aan, maar onthoud het zeker. Ga verder.
  • Hierna ziet u mogelijk een waarschuwing dat het domein niet is gedelegeerd en wordt u gevraagd de domeinnaam te controleren. U kunt deze stappen overslaan.
  • In het volgende venster kunt u het pad naar de databasemappen wijzigen - doe dit als deze u niet bevallen.
  • Je ziet nu alle opties die je gaat instellen. Controleer of je ze correct hebt geselecteerd en ga verder.
  • De applicatie controleert of aan de voorwaarden is voldaan en als er geen opmerkingen zijn, of deze niet kritisch zijn, klikt u op “Installeren”.
  • Nadat de installatie is voltooid, wordt de pc vanzelf opnieuw opgestart.

U vraagt ​​zich misschien ook af hoe u een gebruiker aan de database kunt toevoegen. Gebruik hiervoor het menu “Active Directory-gebruikers of computers”, dat u kunt vinden in de sectie “Beheer” in het configuratiescherm, of gebruik het menu Database-instellingen.

Om een ​​nieuwe gebruiker toe te voegen, klikt u met de rechtermuisknop op de domeinnaam, selecteert u 'Aanmaken' en vervolgens 'Divisie'. Er verschijnt een venster voor u waarin u de naam van de nieuwe afdeling moet invoeren - het dient als een map waarin u gebruikers van verschillende afdelingen kunt verzamelen. Op dezelfde manier maakt u later nog een aantal divisies aan en plaatst u alle werknemers correct.

Wanneer u vervolgens een afdelingsnaam heeft aangemaakt, klikt u er met de rechtermuisknop op en selecteert u “Aanmaken” en vervolgens “Gebruiker”. Nu hoeft u alleen nog maar de benodigde gegevens in te voeren en de toegangsinstellingen voor de gebruiker in te stellen.

Wanneer het nieuwe profiel is aangemaakt, klikt u erop door het contextmenu te selecteren en opent u “Eigenschappen”. Verwijder op het tabblad 'Account' het selectievakje naast 'Blokkeren...'. Dat is alles.

De algemene conclusie is dat Active Directory een krachtige en nuttige tool voor systeembeheer is die zal helpen alle computers van werknemers in één team te verenigen. Met behulp van services kunt u een veilige database creëren en het werk en de synchronisatie van informatie tussen alle gebruikers aanzienlijk optimaliseren. Als uw bedrijf of een andere bedrijfslocatie is verbonden met computers en netwerken, u accounts moet consolideren en werk en privacy moet controleren, is het installeren van een op Active Directory gebaseerde database een geweldige oplossing.

Start de server opnieuw op.

Voer het wachtwoord in voor de herstelmodus van de directoryservice.

Bevestig maplocaties voor het opslaan van AD-bestanden.

Bevestig de NetBIOS-domeinnaam.

7. Selecteer het beveiligingsniveau voor gebruikers en groepen:

· Machtigingen compatibel met pre-Windows 2000-server– als het domein programma's of services bevat die worden uitgevoerd op servers met Windows NT, of als de computer deel uitmaakt van een domein met Windows NT.

· Machtigingen alleen compatibel met Windows 2000 Server en Windows Server 2003– als er in het domein alleen servers met Windows 2000 Server en Windows Server 2003 actief zijn.

Active Directory-beheer maakt gebruik van een reeks Active Directory-beheermodules. Het bestaat uit vier apparatuur:

1 Active Directory-gebruiker en computers – ontworpen voor het beheren van domeingebruikers- en computeraccounts.

2 Active Directory-domeinen en vertrouwensrelaties - gebruikt om vertrouwensrelaties tussen domeinen tot stand te brengen.

3 Active Directory Sites en Service (sites en services) - ontworpen om sites en sitelinks te beheren.

4 DNS – beheer van een DNS-server geïntegreerd in Active Directory.

Active Directory-gebruikers en computers.

Active Directory-gebruikersaccounts en computeraccounts zijn fysieke objecten, net als een computer of gebruiker. Gebruikersaccounts kunnen voor sommige toepassingen ook worden gebruikt als speciale service-items.

Gebruikersaccount– een Active Directory-object dat alle informatie bevat die een gebruiker in het Windows-besturingssysteem identificeert. Deze informatie omvat:

· persoonlijke gegevens van de gebruiker (volledige naam, telefoonnummer, e-mail, postadres, informatie over de organisatie);

· accountinstellingen (gebruikersnaam en wachtwoord vereist voor gebruikersaanmelding, vervaldatum account, wachtwoordbeheer, coderings- en authenticatieopties);

· namen van groepen waarvan de gebruiker lid is;

· gebruikersprofiel (bevat informatie over gebruikersspecifieke instellingen, zoals bureaubladinstellingen, permanente netwerkverbindingen en applicatie-instellingen);

· andere informatie (terminaldienstenprofiel, afstandsbediening, sessiebeheer, enz.).

Computeraccount- een Active Directory-object dat een computer in een domein op unieke wijze identificeert. Het computeraccount komt overeen met de computernaam in het domein. Een computer waarvan het account aan een domein is toegevoegd, kan deelnemen aan netwerkbewerkingen waarbij gebruik wordt gemaakt van Active Directory-inhoud. Een werkstation dat aan een domein wordt toegevoegd, kan bijvoorbeeld accounts en groepen herkennen die in Active Directory bestaan.



@Computers met Windows 95, Windows 98 en Windows Me hebben geen extra beveiligingsfuncties en er kunnen geen computeraccounts aan worden toegewezen.

Groep is een familie van gebruikers- en computeraccounts, contacten en andere groepen die als één geheel kunnen worden beheerd. Gebruikers en computers die tot een bepaalde groep behoren, worden groepsleden genoemd. Groepen in Active Directory zijn directoryobjecten die zich in containerobjecten van domeinen en organisatie-eenheden bevinden.

Met groepen in Active Directory kunt u:

· Vereenvoudig het beheer door deelmachtigingen toe te wijzen aan een groep in plaats van aan individuele gebruikers. Dit garandeert gelijke toegang tot de bron voor alle leden van die groep;

· het beheer delegeren door in één keer rechten toe te wijzen aan gebruikers voor de hele groep via Groepsbeleid, en vervolgens de benodigde leden aan de groep toe te voegen, die dezelfde rechten moeten hebben als de groep;

Groepen worden gekenmerkt door hun omvang en type. De reikwijdte van een groep definieert het bereik waarop de groep van toepassing is binnen een domein of forest. Er zijn drie verschillende scopes: universeel, globaal en domeinlokaal.

· Lokaal domein (lokaal ingebed)– Leden van domeinlokale groepen kunnen andere groepen en accounts van Windows Server 2003-, Windows 2000- of Windows NT-domeinen omvatten, en er kunnen alleen machtigingen binnen het domein worden verleend.

@ Lokale domeingroepen moeten worden gebruikt om de toegang tot bronnen binnen hetzelfde domein te controleren.

· Globaal– Leden van groepen met een globaal bereik kunnen alleen andere groepen en accounts opnemen uit het domein waarin de groep is gedefinieerd, en er kunnen machtigingen aan hen worden verleend in elk domein in het forest.

@ Groepen met een globaal bereik worden aanbevolen voor het beheren van directoryobjecten die dagelijks onderhoud vereisen. Deze omvatten bijvoorbeeld gebruikers- en computeraccounts. Omdat groepen met een globaal bereik niet repliceren buiten hun domein, kunnen de accounts in dergelijke groepen regelmatig worden gewijzigd zonder het extra verkeer te veroorzaken dat is gekoppeld aan replicatie naar de globale catalogus.

· Universeel- Leden van groepen met een universeel bereik kunnen andere groepen en accounts uit elk domein in de domeinstructuur of het forest opnemen, en er kunnen machtigingen aan hen worden verleend in elk domein in de domeinstructuur of het forest.

@ Wijs een universeel bereik toe aan groepen die domeinen omspannen. Om dit te doen, voegt u accounts toe aan groepen met een mondiaal bereik en nestt u deze groepen vervolgens in groepen met een universeel bereik. Met deze aanpak heeft het veranderende lidmaatschap van groepen met een mondiaal bereik geen invloed op groepen met een universeel bereik.


Het groepstype bepaalt of de groep kan worden gebruikt om machtigingen toe te wijzen aan bronnen of alleen aan e-maildistributielijsten.

Beveiligingsgroepen– zorgen voor effectieve controle van de toegang tot netwerkbronnen. Als u beveiligingsgroepen gebruikt, kunt u het volgende doen:

· Wijs gebruikersrechten toe aan een beveiligingsgroep in Active Directory. Gebruikersrechten die voor beveiligingsgroepen zijn ingesteld, bepalen wat een lid van die groep kan doen binnen de reikwijdte van het domein (of forest). Tijdens de installatie van Active Directory worden gebruikersrechten automatisch ingesteld voor beveiligingsgroepen, zodat beheerders de rol van beheerders in het domein kunnen definiëren. Een gebruiker die is toegevoegd aan de groep Back-upoperators in Active Directory krijgt bijvoorbeeld de mogelijkheid om een ​​back-up te maken van bestanden en mappen en deze te herstellen op elke domeincontroller in het domein. U kunt met Groepsbeleid gebruikersrechten toewijzen aan een beveiligingsgroep om specifieke taken te delegeren. Er moet voorzichtigheid worden betracht bij het toewijzen van gedelegeerde taken. Een onervaren gebruiker met te veel rechten in een beveiligingsgroep kan mogelijk ernstige schade aan het netwerk veroorzaken.

· Wijs resourcemachtigingen toe aan beveiligingsgroepen. Machtigingen moeten niet worden verward met gebruikersrechten. Er worden machtigingen ingesteld voor beveiligingsgroepen die gedeelde bronnen gebruiken. Machtigingen bepalen wie toegang heeft tot een bepaalde bron en het toegangsniveau, zoals volledige controle. Sommige machtigingen die voor domeinobjecten zijn ingesteld, worden automatisch ingesteld op verschillende toegangsniveaus voor standaardgroepen, zoals Accountoperators of Domeinoperators. Zie Toegang beheren in Active Directory voor meer informatie over machtigingen.

@Security-groepen worden vermeld in tabellen voor selectieve toegangscontrole, waarin machtigingen voor bronnen en objecten worden gedefinieerd. Beheerders moeten machtigingen voor bronnen (bestandsshares, printers, enz.) toewijzen aan beveiligingsgroepen in plaats van aan individuele gebruikers. Machtigingen worden één keer aan een groep toegewezen, in plaats van dat er rechten aan elke individuele gebruiker worden toegewezen. Wanneer elk account aan een groep wordt toegevoegd, krijgt het de rechten die aan die groep in Active Directory zijn toegewezen en de machtigingen die voor die groep op de bron zijn gedefinieerd.

Distributiegroepen– Alleen gebruikt door e-mailtoepassingen om e-mailberichten naar groepen gebruikers te verzenden. Distributiegroepen maken geen gebruik van beveiliging, met andere woorden, ze kunnen niet worden opgenomen in selectieve toegangscontroletabellen (DACL's). Als er een groep wordt gemaakt om de toegang tot gedeelde bronnen te controleren, moet de groep een beveiligingsgroep zijn.

@Security-groepen kunnen net als distributiegroepen ook worden gebruikt als e-mailbestemmingen. Een e-mailbericht dat naar een groep wordt verzonden, wordt naar alle leden van de groep verzonden.

Er zijn ook groepen waarvan u de lidmaatschapsgegevens niet kunt bewerken of bekijken. Deze groepen worden speciale identiteiten genoemd en worden gebruikt om verschillende gebruikers op verschillende tijdstippen te vertegenwoordigen, afhankelijk van de omstandigheden.

(Anoniem inloggen, Alles, Netwerk, Interactief)

De groep Iedereen vertegenwoordigt bijvoorbeeld alle huidige netwerkgebruikers, inclusief gasten en gebruikers uit andere domeinen. Zie Speciale identiteiten voor meer informatie.

Gebruikers- en computeraccounts (en groepen) worden beveiligingsprincipals genoemd. Beveiligings-principals zijn directoryobjecten waaraan automatisch beveiligings-ID's (SID's) worden toegewezen om toegang te krijgen tot domeinbronnen. Een gebruikers- of computeraccount wordt voor de volgende doeleinden gebruikt:

· gebruikers- of computerauthenticatie.

· toegang tot domeinbronnen toestaan ​​of weigeren.

· beheer van andere beveiligingsprincipals (om een ​​beveiligingsprincipal van een extern vertrouwd domein te vertegenwoordigen).

· audit van acties die zijn uitgevoerd met behulp van een gebruikers- of computeraccount.

Beveiligingsgroepen worden gebruikt om tegelijkertijd rechten aan een groot aantal gebruikers toe te wijzen. Accounts kunnen worden gegroepeerd met behulp van organisatie-eenheden (containers).

Om veilige gebruikersauthenticatie te garanderen, moet u voor elke netwerkgebruiker afzonderlijke accounts aanmaken met behulp van de " Active Directory-gebruikers en computers ».

Elk Active Directory-gebruikersaccount heeft een aantal beveiligingsgerelateerde instellingen die bepalen hoe het account wordt geverifieerd bij het inloggen op het netwerk.

Toegewijd aan het gebruik van PowerShell om AD te beheren. Als uitgangspunt heeft de auteur besloten tien algemene AD-beheertaken te nemen en te kijken hoe deze kunnen worden vereenvoudigd met behulp van PowerShell:

  1. Gebruikerswachtwoord opnieuw instellen
  2. Accounts activeren en deactiveren
  3. Ontgrendel gebruikersaccount
  4. Account verwijderen
  5. Zoek lege groepen
  6. Voeg gebruikers toe aan een groep
  7. Groepsleden vermelden
  8. Vind verouderde computeraccounts
  9. Deactiveer een computeraccount
  10. Zoek computers op type

Daarnaast houdt de auteur een blog bij (uiteraard met behulp van PowerShell), we raden aan een kijkje te nemen - jdhitsolutions.com/blog. En je kunt de meest actuele informatie van zijn Twitter krijgen twitter.com/jeffhicks.
Hieronder vindt u dus de vertaling van het artikel “Top 10 Active Directory-taken opgelost met PowerShell”.

Het beheren van Active Directory (AD) met Windows PowerShell is eenvoudiger dan u denkt, en ik wil het u bewijzen. U kunt eenvoudig de onderstaande scripts gebruiken om een ​​aantal AD-beheertaken op te lossen.

Vereisten

Als u PowerShell wilt gebruiken om AD te beheren, moet u aan verschillende vereisten voldoen. Ik ga demonstreren hoe de AD-cmdlets werken met een Windows 7-computer als voorbeeld.
Als u de cmdlets wilt gebruiken, hebt u een Windows Server 2008 R2-domeincontroller nodig, of u kunt Active Directory Management Gateway Service downloaden en installeren op oudere DC's. Lees de documentatie zorgvuldig door voordat u met de installatie begint; Opnieuw opstarten van cd vereist.
Aan de clientzijde kunt u downloaden en installeren (RSAT) voor Windows 7 of Windows 8. Op Windows 7 moet u openen in Bedieningspanelen hoofdstuk Programma's en kies Schakel Windows-functies in of uit. Vinden Hulpprogramma's voor extern serverbeheer en vouw de sectie uit Hulpmiddelen voor rolbeheer. Selecteer de juiste items voor AD DS en AD LDS Tools, let er vooral op dat het item moet worden geselecteerd Active Directory-module voor Windows PowerShell, zoals weergegeven in Figuur 1. (In Windows 8 zijn standaard alle tools geselecteerd). Nu zijn we klaar om te werken.

Afb.1 AD DS- en AD LDS-tools inschakelen

Ik ben ingelogd met een account met domeinbeheerdersrechten. Met de meeste cmdlets die ik zal laten zien, kunt u alternatieve referenties opgeven. In ieder geval raad ik aan de help te lezen ( Krijg hulp) en voorbeelden die ik hieronder zal demonstreren.
Start een PowerShell-sessie en importeer de module:

PS C:\> Importmodule ActiveDirectory

Door het importeren wordt een nieuwe PSDrive gemaakt, maar we zullen deze niet gebruiken. U kunt echter zien welke opdrachten beschikbaar zijn in de geïmporteerde module.

PS C:\> get-command -module ActiveDirectory

Het mooie van deze opdrachten is dat als ik een opdracht op één AD-object kan gebruiken, deze ook op 10, 100 en zelfs 1000 kan worden gebruikt. Laten we eens kijken hoe sommige van deze cmdlets werken.

Taak 1: Reset het gebruikerswachtwoord

Laten we beginnen met een typische taak: het wachtwoord van een gebruiker opnieuw instellen. U kunt dit eenvoudig en eenvoudig doen met behulp van een cmdlet Set-ADAccountPassword. Het lastige is dat het nieuwe wachtwoord moet worden gekwalificeerd als een beschermde string: een stukje tekst dat wordt gecodeerd en in het geheugen wordt opgeslagen voor de duur van de PowerShell-sessie. Laten we eerst een variabele maken met het nieuwe wachtwoord:
PS C:\> $new=Read-Host "Voer het nieuwe wachtwoord in" -AsSecureString

Voer vervolgens een nieuw wachtwoord in:

Nu kunnen we het account extraheren (met behulp van samAccountnaam– de beste optie) en stel een nieuw wachtwoord in. Hier is een voorbeeld voor gebruiker Jack Frost:

PS C:\> Set-ADAccountPassword jfrost -NewPassword $new

Helaas is er een bug met deze cmdlet: -Passthru, -Wat als, En -Bevestigen werk niet. Als je de voorkeur geeft aan een snelkoppeling, probeer dan dit:

PS C:\> Set-ADAccountPassword jfrost -NewPassword (ConvertTo-SecureString -AsPlainText -String "P@ssw0rd1z3" -force)

Als gevolg hiervan moet Jack zijn wachtwoord wijzigen de volgende keer dat hij inlogt, dus wijzig ik het account met Set-ADUser.

PS C:\> Set-ADUser jfrost -ChangePasswordAtLogon $True

De resultaten van het uitvoeren van de cmdlet worden niet naar de console geschreven. Als dit nodig is, gebruik dan -WAAR. Maar ik kan erachter komen of de bewerking succesvol was of niet door de gebruikersnaam op te halen met behulp van de cmdlet Get-ADUser en het specificeren van de eigenschap Wachtwoord verlopen, zoals weergegeven in figuur 2.


Rijst. 2. Resultaten van de Get-ADUser-cmdlet met de eigenschap PasswordExpired

Kort gezegd: het opnieuw instellen van het wachtwoord van een gebruiker met PowerShell is helemaal niet moeilijk. Ik geef toe dat het opnieuw instellen van het wachtwoord ook eenvoudig is via een handomdraai Active Directory-gebruikers en computers consoles Microsoft Management Console (MMC). Maar het gebruik van PowerShell is geschikt als u een taak moet delegeren, de bovengenoemde module niet wilt implementeren of een wachtwoord opnieuw wilt instellen als onderdeel van een groot geautomatiseerd IT-proces.

Taak 2: Accounts activeren en deactiveren

Laten we nu het account deactiveren. Laten we blijven samenwerken met Jack Frost. Deze code gebruikt de parameter –Wat als, die je kunt vinden in andere comadlets die wijzigingen aanbrengen om mijn opdracht te testen zonder deze uit te voeren.

PS C:\> Disable-ADAccount jfrost -whatif Wat als: Operatie "Set" uitvoeren op doel "CN=Jack Frost, OU=staff,OU=Testing,DC=GLOBOMANTICS,DC=lokaal".

Laten we het nu echt deactiveren:

PS C:\> ADAAccount jfrost uitschakelen

En welke cmdlet zal ons helpen als het tijd is om het account te activeren?

PS C:\>Activeer-ADAAccount jfrost

Deze cmdlets kunnen worden gebruikt in een pijplijnexpressie, zodat u zoveel accounts kunt activeren of deactiveren als u wilt. Met deze code worden bijvoorbeeld alle accounts op de afdeling Sales gedeactiveerd

PS C:\> get-aduser -filter "afdeling -eq "verkoop"" | uitschakelen-adaccount

Schrijf er natuurlijk een filter voor Get-ADUser nogal ingewikkeld, maar dit is waar het gebruik van de parameter –Wat als samen met de cmdlet Schakel ADAccount uit komt te hulp.

Taak 3: Ontgrendel het gebruikersaccount

Neem een ​​situatie waarin Jack zijn account heeft geblokkeerd terwijl hij probeerde een nieuw wachtwoord in te voeren. In plaats van te proberen zijn account via de GUI te vinden, kan de ontgrendelingsprocedure worden uitgevoerd met een eenvoudige opdracht.

PS C:\> Ontgrendel ADAAccount jfrost

De cmdlet ondersteunt ook para meters -Wat als En -Bevestigen.

Taak 4: Account verwijderen

Het maakt niet uit hoeveel gebruikers u verwijdert: u kunt dit eenvoudig doen met behulp van de cmdlet Verwijder-ADUser. Ik wil Jack Frost niet verwijderen, maar als ik dat zou willen, zou ik de volgende code gebruiken:

PS C:\> Remove-ADUser jfrost -whatif Wat als: Operatie "Remove" uitvoeren op doel "CN=Jack Frost,OU=staf,OU=Testing,DC=GLOBOMANTICS,DC=local".

Of ik kan meerdere gebruikers invoeren en ze verwijderen met één simpele opdracht:

PS C:\> get-aduser -filter "enabled -eq "false"" -property WhenChanged -SearchBase "OU=Werknemers, DC=Globomantics,DC=Lokaal" | waar ($_.WhenChanged -le (Get-Date).AddDays(-180)) | Verwijder-ADuser-whatif

Met deze opdracht worden alle uitgeschakelde werknemers-OE-accounts gevonden en verwijderd die gedurende 180 dagen of langer niet zijn gewijzigd.

Taak 5: Lege groepen vinden

Het beheren van groepen is een eindeloze en ondankbare taak. Er zijn veel manieren om lege groepen te vinden. Sommige uitdrukkingen werken mogelijk beter dan andere, afhankelijk van uw organisatie. Met de onderstaande code worden alle groepen in het domein gevonden, inclusief ingebouwde groepen.

PS C:\> get-adgroup -filter * | waar (-Niet ($_ | get-adgroupmember)) | Selecteer Naam

Als je groepen met honderden leden hebt, kan het gebruik van deze opdracht lang duren; Get-ADGroupMember controleert elke groep. Als je het kunt beperken of aanpassen, is het beter.
Hier is een andere aanpak:

PS C:\> get-adgroup -filter "members -notlike "*" -AND GroupScope -eq "Universal"" -SearchBase "OU=Groepen,OU=Werknemers,DC=Globomantics, DC=lokaal" | Selecteer Naam, Groep*

Met deze opdracht worden alle universele groepen gevonden die geen lidmaatschap hebben van OE-groepen en worden enkele eigenschappen weergegeven. Het resultaat wordt getoond in Figuur 3.


Rijst. 3. Zoek en filter universele groepen

Taak 6: Gebruikers toevoegen aan een groep

Laten we Jack Frost toevoegen aan de Chicago IT-groep:

PS C:\> add-adgroupmember "chicago IT" -Leden jfrost

Ja, zo simpel is het. Je kunt ook gemakkelijk honderden gebruikers aan groepen toevoegen, al vind ik dit een beetje lastig:

PS C:\> Add-ADGroupMember "Chicago Employees" -member (get-aduser -filter "city -eq "Chicago"")

Ik heb de pipeline-expressie tussen haakjes gebruikt om alle gebruikers te vinden die het City-eigendom in Chicago hebben. De code tussen haakjes wordt uitgevoerd en de resulterende objecten worden doorgegeven aan de parameter –Member. Elk gebruikersobject wordt toegevoegd aan de groep Chicago Employees. Het maakt niet uit of we te maken hebben met 5 of 5000 gebruikers, het bijwerken van groepslidmaatschappen duurt slechts enkele seconden. Deze uitdrukking kan ook worden geschreven met VoorElk-Object wat is misschien handiger:

PS C:\> Get-ADUser -filter "stad -eq "Chicago"" | foreach (Add-ADGroupMember "Chicago Employees" -Lid $_)

Taak 7: Maak een lijst van groepsleden

Misschien wil je weten wie er in een bepaalde groep zit. U moet bijvoorbeeld periodiek nagaan wie lid is van de groep Domeinadministrators:

PS C:\> Get-ADGroupMember "Domeinbeheerders"

Figuur 4 toont het resultaat.


Rijst. 4. Leden van de groep Domeinadministrators

De cmdlet geeft het AD-object voor elk groepslid weer. Wat te doen met geneste groepen? Mijn groep Chicago All Users is een verzameling geneste groepen. Om een ​​lijst met alle accounts te krijgen, hoef ik alleen maar de parameter te gebruiken –Recursief.

PS C:\> Get-ADGroupMember "Chicago Alle gebruikers" -Recursief | Selecteer DistinguishedName

Als u de andere kant op wilt gaan - zoek uit in welke groepen een gebruiker zich bevindt - gebruik dan de gebruikerseigenschap LidVan:

PS C:\> get-aduser jfrost -property Lid van | Selecteer -ExpandProperty memberOf CN=NewTest,OU=Groepen,OU=Werknemers, DC=GLOBOMANTICS,DC=lokaal CN=Chicago Test,OU=Groepen,OU=Werknemers, DC=GLOBOMANTICS,DC=lokaal CN=Chicago IT,OU= Groepen,OU=Werknemers, DC=GLOBOMANTICS,DC=lokaal CN=Chicago Sales Users,OU=Groepen,OU=Werknemers, DC=GLOBOMANTICS,DC=lokaal

Ik heb de parameter gebruikt -Eigenschap uitvouwen namen weergeven LidVan zoals lijnen.

Taak 8: Vind verouderde computeraccounts

Deze vraag wordt mij vaak gesteld: “Hoe vind ik verouderde computeraccounts?” En ik antwoord altijd: “Wat is voor jou achterhaald?” Bedrijven hebben verschillende definities van wanneer een computeraccount (of gebruikersaccount, het maakt niet uit) als verouderd wordt beschouwd en niet langer kan worden gebruikt. Voor mij let ik op die accounts waarvan de wachtwoorden al een bepaalde periode niet zijn gewijzigd. Deze periode is voor mij 90 dagen - als de computer tijdens deze periode het wachtwoord en het domein niet heeft gewijzigd, is deze hoogstwaarschijnlijk offline en verouderd. Cmdlet gebruikt Get-ADComputer:

PS C:\> get-adcomputer -filter "Wachtwoordlastset -lt "1/1/2012"" -eigenschappen *| Selecteer naam,wachtwoordlaatsteset

Het filter werkt prima met een harde waarde, maar deze code wordt bijgewerkt voor alle computeraccounts waarvan het wachtwoord sinds 1 januari 2012 niet is gewijzigd. De resultaten worden weergegeven in Figuur 5.


Rijst. 5. Vind verouderde computeraccounts

Een andere optie: laten we aannemen dat u zich op zijn minst op het functionele niveau van het Windows 2003-domein bevindt. Filter op eigenschap Laatste aanmeldingstijdstempel. Deze waarde is het aantal intervallen van 100 nanoseconden sinds 1 januari 1601 en wordt opgeslagen in GMT, dus het werken met deze waarde is een beetje lastig:

PS C:\> get-adcomputer -filter "LastlogonTimestamp -gt 0" -eigenschappen * | selecteer naam,laatste logontijdstempel, @(Name="LastLogon";Expression=(::FromFileTime ($_.Lastlogontimestamp))),wachtwoordlastset | Sorteer LastLogonTimeStamp


Rijst. 6. Converteer de LastLogonTimeStamp-waarde naar een bekend formaat

Om een ​​filter te maken, moet ik de datum, bijvoorbeeld 1 januari 2012, naar het juiste formaat converteren. De conversie wordt uitgevoerd in FileTime:

PS C:\> $cutoff=(Get-Date "1/1/2012").ToFileTime() PS C:\> $cutoff 129698676000000000

Nu kan ik deze variabele in het filter gebruiken Get-ADComputer:

PS C:\> Get-ADComputer -Filter "(lastlogontimestamp -lt $cutoff) -or (lastlogontimestamp -notlike "*")" -property * | Selecteer Naam,Laatste aanmeldingTijdstempel,WachtwoordLaatsteSet

De bovenstaande code vindt dezelfde computers als in Figuur 5.

Taak 9: Deactiveer het computeraccount

Als u inactieve of verouderde accounts tegenkomt, wilt u deze misschien deactiveren. Dit is vrij eenvoudig te doen. We zullen dezelfde cmdlet gebruiken waarmee we met gebruikersaccounts werkten. Je kunt het verduidelijken door gebruik te maken van samAccountnaam rekening.

PS C:\> Disable-ADAccount -Identity "chi-srv01$" -whatif Wat als: bewerking "Set" uitvoeren op doel "CN=CHI-SRV01, CN=Computers,DC=GLOBOMANTICS,DC=local".

Of gebruik een pijplijnexpressie:

PS C:\> get-adcomputer "chi-srv01" | Schakel ADAccount uit

Ik kan mijn code ook gebruiken om verouderde accounts te vinden en ze allemaal te deactiveren:

PS C:\> get-adcomputer -filter "Wachtwoordlastset -lt "1/1/2012"" -eigenschappen *| Schakel ADAccount uit

Taak 10: Zoek computers op type

Ik krijg ook vaak de vraag hoe ik computeraccounts kan vinden op type, zoals servers of werkstations. Dit vergt enige creativiteit van uw kant. Er is niets in AD dat een server van een client onderscheidt, behalve misschien het besturingssysteem. Als uw computer Windows Server 2008 gebruikt, moet u een paar extra stappen uitvoeren.
Eerst moet u een lijst met besturingssystemen verkrijgen en vervolgens filteren we accounts op beschikbare besturingssystemen.

PS C:\> Get-ADComputer -Filter * -Eigenschappen Besturingssysteem | Selecteer Besturingssysteem -uniek | Sorteer besturingssysteem

De resultaten worden getoond in Figuur 7.


Rijst. 7. De besturingssysteemlijst ophalen

Ik wil alle computers vinden met een server-besturingssysteem:

PS C:\> Get-ADComputer -Filter "OperatingSystem -achtig "*Server*"" -eigenschappen Besturingssysteem,OperatingSystem ServicePack | Selecteer Naam,Op* | formaat-lijst

De resultaten worden getoond in Figuur 8.

Net als andere AD Get-cmdlets kunt u zoekparameters aanpassen en de aanvraag indien nodig beperken tot specifieke organisatie-eenheden. Alle expressies die ik heb getoond, kunnen worden geïntegreerd in grotere PowerShell-expressies. U kunt bijvoorbeeld sorteren, groeperen, filters toepassen, exporteren naar CSV of HTML-rapporten maken en e-mailen - allemaal vanuit PowerShell! In dit geval hoeft u geen enkel script te schrijven.
Hier is een bonus: een rapport over de leeftijd van het gebruikerswachtwoord, opgeslagen in een HTML-bestand:

PS C:\> Get-ADUser -Filter "Ingeschakeld -eq "True" -AND PasswordNeverExpires -eq "False"" -Eigenschappen WachtwoordLastSet,PasswordNeverExpires,PasswordExpired | Selecteer DistinguishedName,Name,pass*,@(Name="PasswordAge"; Expression=((Get-Date)-$_.PasswordLastSet)) |sorteer PasswordAge -Descending | ConvertTo-Html -Title "Wachtwoordleeftijdsrapport" | Out-File c:\Work\pwage.htm !}

Hoewel deze uitdrukking er misschien een beetje intimiderend uitziet, is deze eenvoudig te gebruiken met minimale kennis van PowerShell. En er blijft nog maar één laatste advies over: hoe definieer je een aangepaste eigenschap genaamd WachtwoordLeeftijd. De waarde vertegenwoordigt de kloof tussen vandaag en de eigenschap PasswordLastSet. Vervolgens sorteer ik de resultaten voor mijn nieuwe woning. Figuur 9 toont de uitvoer voor mijn kleine testdomein.

Bijgewerkt:
Het bericht bevat een vertaling van het artikel op de portal

Toegewijd aan het gebruik van PowerShell om AD te beheren. Als uitgangspunt heeft de auteur besloten tien algemene AD-beheertaken te nemen en te kijken hoe deze kunnen worden vereenvoudigd met behulp van PowerShell:

  1. Gebruikerswachtwoord opnieuw instellen
  2. Accounts activeren en deactiveren
  3. Ontgrendel gebruikersaccount
  4. Account verwijderen
  5. Zoek lege groepen
  6. Voeg gebruikers toe aan een groep
  7. Groepsleden vermelden
  8. Vind verouderde computeraccounts
  9. Deactiveer een computeraccount
  10. Zoek computers op type

Daarnaast houdt de auteur een blog bij (uiteraard met behulp van PowerShell), we raden aan een kijkje te nemen - jdhitsolutions.com/blog. En je kunt de meest actuele informatie van zijn Twitter krijgen twitter.com/jeffhicks.
Hieronder vindt u dus de vertaling van het artikel “Top 10 Active Directory-taken opgelost met PowerShell”.

Het beheren van Active Directory (AD) met Windows PowerShell is eenvoudiger dan u denkt, en ik wil het u bewijzen. U kunt eenvoudig de onderstaande scripts gebruiken om een ​​aantal AD-beheertaken op te lossen.

Vereisten

Als u PowerShell wilt gebruiken om AD te beheren, moet u aan verschillende vereisten voldoen. Ik ga demonstreren hoe de AD-cmdlets werken met een Windows 7-computer als voorbeeld.
Als u de cmdlets wilt gebruiken, hebt u een Windows Server 2008 R2-domeincontroller nodig, of u kunt Active Directory Management Gateway Service downloaden en installeren op oudere DC's. Lees de documentatie zorgvuldig door voordat u met de installatie begint; Opnieuw opstarten van cd vereist.
Aan de clientzijde kunt u downloaden en installeren (RSAT) voor Windows 7 of Windows 8. Op Windows 7 moet u openen in Bedieningspanelen hoofdstuk Programma's en kies Schakel Windows-functies in of uit. Vinden Hulpprogramma's voor extern serverbeheer en vouw de sectie uit Hulpmiddelen voor rolbeheer. Selecteer de juiste items voor AD DS en AD LDS Tools, let er vooral op dat het item moet worden geselecteerd Active Directory-module voor Windows PowerShell, zoals weergegeven in Figuur 1. (In Windows 8 zijn standaard alle tools geselecteerd). Nu zijn we klaar om te werken.

Afb.1 AD DS- en AD LDS-tools inschakelen

Ik ben ingelogd met een account met domeinbeheerdersrechten. Met de meeste cmdlets die ik zal laten zien, kunt u alternatieve referenties opgeven. In ieder geval raad ik aan de help te lezen ( Krijg hulp) en voorbeelden die ik hieronder zal demonstreren.
Start een PowerShell-sessie en importeer de module:

PS C:\> Importmodule ActiveDirectory

Door het importeren wordt een nieuwe PSDrive gemaakt, maar we zullen deze niet gebruiken. U kunt echter zien welke opdrachten beschikbaar zijn in de geïmporteerde module.

PS C:\> get-command -module ActiveDirectory

Het mooie van deze opdrachten is dat als ik een opdracht op één AD-object kan gebruiken, deze ook op 10, 100 en zelfs 1000 kan worden gebruikt. Laten we eens kijken hoe sommige van deze cmdlets werken.

Taak 1: Reset het gebruikerswachtwoord

Laten we beginnen met een typische taak: het wachtwoord van een gebruiker opnieuw instellen. U kunt dit eenvoudig en eenvoudig doen met behulp van een cmdlet Set-ADAccountPassword. Het lastige is dat het nieuwe wachtwoord moet worden gekwalificeerd als een beschermde string: een stukje tekst dat wordt gecodeerd en in het geheugen wordt opgeslagen voor de duur van de PowerShell-sessie. Laten we eerst een variabele maken met het nieuwe wachtwoord:
PS C:\> $new=Read-Host "Voer het nieuwe wachtwoord in" -AsSecureString

Voer vervolgens een nieuw wachtwoord in:

Nu kunnen we het account extraheren (met behulp van samAccountnaam– de beste optie) en stel een nieuw wachtwoord in. Hier is een voorbeeld voor gebruiker Jack Frost:

PS C:\> Set-ADAccountPassword jfrost -NewPassword $new

Helaas is er een bug met deze cmdlet: -Passthru, -Wat als, En -Bevestigen werk niet. Als je de voorkeur geeft aan een snelkoppeling, probeer dan dit:

PS C:\> Set-ADAccountPassword jfrost -NewPassword (ConvertTo-SecureString -AsPlainText -String "P@ssw0rd1z3" -force)

Als gevolg hiervan moet Jack zijn wachtwoord wijzigen de volgende keer dat hij inlogt, dus wijzig ik het account met Set-ADUser.

PS C:\> Set-ADUser jfrost -ChangePasswordAtLogon $True

De resultaten van het uitvoeren van de cmdlet worden niet naar de console geschreven. Als dit nodig is, gebruik dan -WAAR. Maar ik kan erachter komen of de bewerking succesvol was of niet door de gebruikersnaam op te halen met behulp van de cmdlet Get-ADUser en het specificeren van de eigenschap Wachtwoord verlopen, zoals weergegeven in figuur 2.


Rijst. 2. Resultaten van de Get-ADUser-cmdlet met de eigenschap PasswordExpired

Kort gezegd: het opnieuw instellen van het wachtwoord van een gebruiker met PowerShell is helemaal niet moeilijk. Ik geef toe dat het opnieuw instellen van het wachtwoord ook eenvoudig is via een handomdraai Active Directory-gebruikers en computers consoles Microsoft Management Console (MMC). Maar het gebruik van PowerShell is geschikt als u een taak moet delegeren, de bovengenoemde module niet wilt implementeren of een wachtwoord opnieuw wilt instellen als onderdeel van een groot geautomatiseerd IT-proces.

Taak 2: Accounts activeren en deactiveren

Laten we nu het account deactiveren. Laten we blijven samenwerken met Jack Frost. Deze code gebruikt de parameter –Wat als, die je kunt vinden in andere comadlets die wijzigingen aanbrengen om mijn opdracht te testen zonder deze uit te voeren.

PS C:\> Disable-ADAccount jfrost -whatif Wat als: Operatie "Set" uitvoeren op doel "CN=Jack Frost, OU=staff,OU=Testing,DC=GLOBOMANTICS,DC=lokaal".

Laten we het nu echt deactiveren:

PS C:\> ADAAccount jfrost uitschakelen

En welke cmdlet zal ons helpen als het tijd is om het account te activeren?

PS C:\>Activeer-ADAAccount jfrost

Deze cmdlets kunnen worden gebruikt in een pijplijnexpressie, zodat u zoveel accounts kunt activeren of deactiveren als u wilt. Met deze code worden bijvoorbeeld alle accounts op de afdeling Sales gedeactiveerd

PS C:\> get-aduser -filter "afdeling -eq "verkoop"" | uitschakelen-adaccount

Schrijf er natuurlijk een filter voor Get-ADUser nogal ingewikkeld, maar dit is waar het gebruik van de parameter –Wat als samen met de cmdlet Schakel ADAccount uit komt te hulp.

Taak 3: Ontgrendel het gebruikersaccount

Neem een ​​situatie waarin Jack zijn account heeft geblokkeerd terwijl hij probeerde een nieuw wachtwoord in te voeren. In plaats van te proberen zijn account via de GUI te vinden, kan de ontgrendelingsprocedure worden uitgevoerd met een eenvoudige opdracht.

PS C:\> Ontgrendel ADAAccount jfrost

De cmdlet ondersteunt ook para meters -Wat als En -Bevestigen.

Taak 4: Account verwijderen

Het maakt niet uit hoeveel gebruikers u verwijdert: u kunt dit eenvoudig doen met behulp van de cmdlet Verwijder-ADUser. Ik wil Jack Frost niet verwijderen, maar als ik dat zou willen, zou ik de volgende code gebruiken:

PS C:\> Remove-ADUser jfrost -whatif Wat als: Operatie "Remove" uitvoeren op doel "CN=Jack Frost,OU=staf,OU=Testing,DC=GLOBOMANTICS,DC=local".

Of ik kan meerdere gebruikers invoeren en ze verwijderen met één simpele opdracht:

PS C:\> get-aduser -filter "enabled -eq "false"" -property WhenChanged -SearchBase "OU=Werknemers, DC=Globomantics,DC=Lokaal" | waar ($_.WhenChanged -le (Get-Date).AddDays(-180)) | Verwijder-ADuser-whatif

Met deze opdracht worden alle uitgeschakelde werknemers-OE-accounts gevonden en verwijderd die gedurende 180 dagen of langer niet zijn gewijzigd.

Taak 5: Lege groepen vinden

Het beheren van groepen is een eindeloze en ondankbare taak. Er zijn veel manieren om lege groepen te vinden. Sommige uitdrukkingen werken mogelijk beter dan andere, afhankelijk van uw organisatie. Met de onderstaande code worden alle groepen in het domein gevonden, inclusief ingebouwde groepen.

PS C:\> get-adgroup -filter * | waar (-Niet ($_ | get-adgroupmember)) | Selecteer Naam

Als je groepen met honderden leden hebt, kan het gebruik van deze opdracht lang duren; Get-ADGroupMember controleert elke groep. Als je het kunt beperken of aanpassen, is het beter.
Hier is een andere aanpak:

PS C:\> get-adgroup -filter "members -notlike "*" -AND GroupScope -eq "Universal"" -SearchBase "OU=Groepen,OU=Werknemers,DC=Globomantics, DC=lokaal" | Selecteer Naam, Groep*

Met deze opdracht worden alle universele groepen gevonden die geen lidmaatschap hebben van OE-groepen en worden enkele eigenschappen weergegeven. Het resultaat wordt getoond in Figuur 3.


Rijst. 3. Zoek en filter universele groepen

Taak 6: Gebruikers toevoegen aan een groep

Laten we Jack Frost toevoegen aan de Chicago IT-groep:

PS C:\> add-adgroupmember "chicago IT" -Leden jfrost

Ja, zo simpel is het. Je kunt ook gemakkelijk honderden gebruikers aan groepen toevoegen, al vind ik dit een beetje lastig:

PS C:\> Add-ADGroupMember "Chicago Employees" -member (get-aduser -filter "city -eq "Chicago"")

Ik heb de pipeline-expressie tussen haakjes gebruikt om alle gebruikers te vinden die het City-eigendom in Chicago hebben. De code tussen haakjes wordt uitgevoerd en de resulterende objecten worden doorgegeven aan de parameter –Member. Elk gebruikersobject wordt toegevoegd aan de groep Chicago Employees. Het maakt niet uit of we te maken hebben met 5 of 5000 gebruikers, het bijwerken van groepslidmaatschappen duurt slechts enkele seconden. Deze uitdrukking kan ook worden geschreven met VoorElk-Object wat is misschien handiger:

PS C:\> Get-ADUser -filter "stad -eq "Chicago"" | foreach (Add-ADGroupMember "Chicago Employees" -Lid $_)

Taak 7: Maak een lijst van groepsleden

Misschien wil je weten wie er in een bepaalde groep zit. U moet bijvoorbeeld periodiek nagaan wie lid is van de groep Domeinadministrators:

PS C:\> Get-ADGroupMember "Domeinbeheerders"

Figuur 4 toont het resultaat.


Rijst. 4. Leden van de groep Domeinadministrators

De cmdlet geeft het AD-object voor elk groepslid weer. Wat te doen met geneste groepen? Mijn groep Chicago All Users is een verzameling geneste groepen. Om een ​​lijst met alle accounts te krijgen, hoef ik alleen maar de parameter te gebruiken –Recursief.

PS C:\> Get-ADGroupMember "Chicago Alle gebruikers" -Recursief | Selecteer DistinguishedName

Als u de andere kant op wilt gaan - zoek uit in welke groepen een gebruiker zich bevindt - gebruik dan de gebruikerseigenschap LidVan:

PS C:\> get-aduser jfrost -property Lid van | Selecteer -ExpandProperty memberOf CN=NewTest,OU=Groepen,OU=Werknemers, DC=GLOBOMANTICS,DC=lokaal CN=Chicago Test,OU=Groepen,OU=Werknemers, DC=GLOBOMANTICS,DC=lokaal CN=Chicago IT,OU= Groepen,OU=Werknemers, DC=GLOBOMANTICS,DC=lokaal CN=Chicago Sales Users,OU=Groepen,OU=Werknemers, DC=GLOBOMANTICS,DC=lokaal

Ik heb de parameter gebruikt -Eigenschap uitvouwen namen weergeven LidVan zoals lijnen.

Taak 8: Vind verouderde computeraccounts

Deze vraag wordt mij vaak gesteld: “Hoe vind ik verouderde computeraccounts?” En ik antwoord altijd: “Wat is voor jou achterhaald?” Bedrijven hebben verschillende definities van wanneer een computeraccount (of gebruikersaccount, het maakt niet uit) als verouderd wordt beschouwd en niet langer kan worden gebruikt. Voor mij let ik op die accounts waarvan de wachtwoorden al een bepaalde periode niet zijn gewijzigd. Deze periode is voor mij 90 dagen - als de computer tijdens deze periode het wachtwoord en het domein niet heeft gewijzigd, is deze hoogstwaarschijnlijk offline en verouderd. Cmdlet gebruikt Get-ADComputer:

PS C:\> get-adcomputer -filter "Wachtwoordlastset -lt "1/1/2012"" -eigenschappen *| Selecteer naam,wachtwoordlaatsteset

Het filter werkt prima met een harde waarde, maar deze code wordt bijgewerkt voor alle computeraccounts waarvan het wachtwoord sinds 1 januari 2012 niet is gewijzigd. De resultaten worden weergegeven in Figuur 5.


Rijst. 5. Vind verouderde computeraccounts

Een andere optie: laten we aannemen dat u zich op zijn minst op het functionele niveau van het Windows 2003-domein bevindt. Filter op eigenschap Laatste aanmeldingstijdstempel. Deze waarde is het aantal intervallen van 100 nanoseconden sinds 1 januari 1601 en wordt opgeslagen in GMT, dus het werken met deze waarde is een beetje lastig:

PS C:\> get-adcomputer -filter "LastlogonTimestamp -gt 0" -eigenschappen * | selecteer naam,laatste logontijdstempel, @(Name="LastLogon";Expression=(::FromFileTime ($_.Lastlogontimestamp))),wachtwoordlastset | Sorteer LastLogonTimeStamp


Rijst. 6. Converteer de LastLogonTimeStamp-waarde naar een bekend formaat

Om een ​​filter te maken, moet ik de datum, bijvoorbeeld 1 januari 2012, naar het juiste formaat converteren. De conversie wordt uitgevoerd in FileTime:

PS C:\> $cutoff=(Get-Date "1/1/2012").ToFileTime() PS C:\> $cutoff 129698676000000000

Nu kan ik deze variabele in het filter gebruiken Get-ADComputer:

PS C:\> Get-ADComputer -Filter "(lastlogontimestamp -lt $cutoff) -or (lastlogontimestamp -notlike "*")" -property * | Selecteer Naam,Laatste aanmeldingTijdstempel,WachtwoordLaatsteSet

De bovenstaande code vindt dezelfde computers als in Figuur 5.

Taak 9: Deactiveer het computeraccount

Als u inactieve of verouderde accounts tegenkomt, wilt u deze misschien deactiveren. Dit is vrij eenvoudig te doen. We zullen dezelfde cmdlet gebruiken waarmee we met gebruikersaccounts werkten. Je kunt het verduidelijken door gebruik te maken van samAccountnaam rekening.

PS C:\> Disable-ADAccount -Identity "chi-srv01$" -whatif Wat als: bewerking "Set" uitvoeren op doel "CN=CHI-SRV01, CN=Computers,DC=GLOBOMANTICS,DC=local".

Of gebruik een pijplijnexpressie:

PS C:\> get-adcomputer "chi-srv01" | Schakel ADAccount uit

Ik kan mijn code ook gebruiken om verouderde accounts te vinden en ze allemaal te deactiveren:

PS C:\> get-adcomputer -filter "Wachtwoordlastset -lt "1/1/2012"" -eigenschappen *| Schakel ADAccount uit

Taak 10: Zoek computers op type

Ik krijg ook vaak de vraag hoe ik computeraccounts kan vinden op type, zoals servers of werkstations. Dit vergt enige creativiteit van uw kant. Er is niets in AD dat een server van een client onderscheidt, behalve misschien het besturingssysteem. Als uw computer Windows Server 2008 gebruikt, moet u een paar extra stappen uitvoeren.
Eerst moet u een lijst met besturingssystemen verkrijgen en vervolgens filteren we accounts op beschikbare besturingssystemen.

PS C:\> Get-ADComputer -Filter * -Eigenschappen Besturingssysteem | Selecteer Besturingssysteem -uniek | Sorteer besturingssysteem

De resultaten worden getoond in Figuur 7.


Rijst. 7. De besturingssysteemlijst ophalen

Ik wil alle computers vinden met een server-besturingssysteem:

PS C:\> Get-ADComputer -Filter "OperatingSystem -achtig "*Server*"" -eigenschappen Besturingssysteem,OperatingSystem ServicePack | Selecteer Naam,Op* | formaat-lijst

De resultaten worden getoond in Figuur 8.

Net als andere AD Get-cmdlets kunt u zoekparameters aanpassen en de aanvraag indien nodig beperken tot specifieke organisatie-eenheden. Alle expressies die ik heb getoond, kunnen worden geïntegreerd in grotere PowerShell-expressies. U kunt bijvoorbeeld sorteren, groeperen, filters toepassen, exporteren naar CSV of HTML-rapporten maken en e-mailen - allemaal vanuit PowerShell! In dit geval hoeft u geen enkel script te schrijven.
Hier is een bonus: een rapport over de leeftijd van het gebruikerswachtwoord, opgeslagen in een HTML-bestand:

PS C:\> Get-ADUser -Filter "Ingeschakeld -eq "True" -AND PasswordNeverExpires -eq "False"" -Eigenschappen WachtwoordLastSet,PasswordNeverExpires,PasswordExpired | Selecteer DistinguishedName,Name,pass*,@(Name="PasswordAge"; Expression=((Get-Date)-$_.PasswordLastSet)) |sorteer PasswordAge -Descending | ConvertTo-Html -Title "Wachtwoordleeftijdsrapport" | Out-File c:\Work\pwage.htm !}

Hoewel deze uitdrukking er misschien een beetje intimiderend uitziet, is deze eenvoudig te gebruiken met minimale kennis van PowerShell. En er blijft nog maar één laatste advies over: hoe definieer je een aangepaste eigenschap genaamd WachtwoordLeeftijd. De waarde vertegenwoordigt de kloof tussen vandaag en de eigenschap PasswordLastSet. Vervolgens sorteer ik de resultaten voor mijn nieuwe woning. Figuur 9 toont de uitvoer voor mijn kleine testdomein.

Bijgewerkt:
Het bericht bevat een vertaling van het artikel op de portal