- Home
- Producten
- Bedrijfsbehoeften
- Partners
- Referenties
- Kenniscentrum
- Support
- Over Perrit
- Handleidingen
- Nieuws
- Acties
NETDOM /Domain:MYNDOMAIN /user:beheerder /password:wachtwoord MEMBER MYCOMPUTER /ADD
'***********************'* Begin van script'***********************
Dim sComputerName, sUserOrGroup, sPath, computerContainer, rootDSE, lFlagDim secDescriptor, dACL, ACE, oComputer, sPwd
'*********************************************************************'* Declareer constanten voor het definiëren van de standaardlocatie voor de'* computeraccount, markeringen ter identificatie van het object als een computeraccount,'* en beveiligingsmarkeringen'*********************************************************************
Const UF_WORKSTATION_TRUST_ACCOUNT = &H1000Const UF_ACCOUNTDISABLE = &H2Const UF_PASSWD_NOTREQD = &H20Const ADS_GUID_COMPUTRS_CONTAINER = "aa312825768811d1aded00c04fd8d5cd"Const ADS_ACETYPE_ACCESS_ALLOWED = 0Const ADS_ACEFLAG_INHERIT_ACE = 2
'*********************************************************************'* Stel de markeringen voor dit object zodanig in dat het wordt geïdentificeerd als een computeraccount'* en bepaal de naam. De naam wordt hier statisch gebruikt, maar kan worden'* vastgesteld door middel van een opdrachtregelparameter of via een invoervenster'*********************************************************************
lFlag = UF_WORKSTATION_TRUST_ACCOUNT Or UF_ACCOUNTDISABLE Or UF_PASSWD_NOTREQDsComputerName = "TestAccount"
'*********************************************************************'* Bepaal een pad naar de container in de Active Directory waarin'* de computeraccount wordt gemaakt. In dit voorbeeld wordt automatisch'* een domeincontroller voor het domein gevonden, wordt de'* domeinnaam gelezen en aan de standaardcontainer 'Computers' gebonden'*********************************************************************
Set rootDSE = GetObject("LDAP://RootDSE")sPath = "LDAP://<WKGUID=" & ADS_GUID_COMPUTRS_CONTAINERsPath = sPath + ","sPath = sPath + rootDSE.Get("defaultNamingContext")sPath = sPath + ">"Set computerContainer = GetObject(sPath)sPath = "LDAP://" & computerContainer.Get("distinguishedName")Set computerContainer = GetObject(sPath)
'*********************************************************************'* Hier wordt de computeraccount gemaakt. Bepaalde kenmerken moeten'* een waarde hebben voordat .SetInfo wordt aangeroepen om het object door te voeren (te schrijven)'* in de Active Directory'*********************************************************************
Set oComputer = computerContainer.Create("computer", "CN=" & sComputerName)oComputer.Put "samAccountName", sComputerName + "$"oComputer.Put "userAccountControl", lFlagoComputer.SetInfo
'*********************************************************************'* Stel een standaardwachtwoord voor de computeraccount in'*********************************************************************
sPwd = sComputerName & "$"sPwd = LCase(sPwd)oComputer.SetPassword sPwd
'*********************************************************************'* Geef op welke gebruiker of groep deze computer voor het domein mag'* ongeldig is op het domein. In dit voorbeeld is 'MYNDOMEIN' de domeinnaam en is'* 'JanSmits' de account waaraan de machtiging wordt verstrekt. In'* dit voorbeeld wordt de downlevel-naamgevingsconventie gebruikt.'*********************************************************************
sUserOrGroup = "MYNDOMEIN\jansmits"
'*********************************************************************'* Maak een verbinding met de discretionaire ACL van de zojuist gemaakte computeraccount'* en maak een ACE (Access Control Entry) die de opgegeven gebruiker of groep'* volledig beheer over de computeraccount geeft'*********************************************************************
Set secDescriptor = oComputer.Get("ntSecurityDescriptor")Set dACL = secDescriptor.DiscretionaryAclSet ACE = CreateObject("AccessControlEntry")
'*********************************************************************'* Bij een AccessMask van '-1' wordt er volledig beheer verleend'*********************************************************************
ACE.AccessMask = -1ACE.AceType = ADS_ACETYPE_ACCESS_ALLOWEDACE.AceFlags = ADS_ACEFLAG_INHERIT_ACE
'*********************************************************************'* Wijs het beheer aan de eerder opgegeven gebruiker of groep toe.'*********************************************************************
ACE.Trustee = sUserOrGroup
'*********************************************************************'* Voeg deze ACE nu toe aan de DACL van de computeraccount'*********************************************************************
dACL.AddAce ACEsecDescriptor.DiscretionaryAcl = dACL
'*********************************************************************'* Voer de beveiligingswijzigingen voor de computeraccount door (door deze te schrijven)'*********************************************************************
oComputer.Put "ntSecurityDescriptor", Array(secDescriptor)oComputer.SetInfo
'*********************************************************************'* Als alle parameters en machtigingen zijn ingesteld, schakelt u de'* account in.'*********************************************************************
oComputer.AccountDisabled = FalseoComputer.SetInfo
'*********************************************************************'* Maak een ACE waarmee de opgegeven gebruiker of groep'* volledig beheer over de computeraccount krijgt'*********************************************************************
wscript.echo "De opdracht is uitgevoerd."
'*****************'* Einde van script'*****************
Relevante artikelen |
Gekoppelde tagsAccess, Visual Basic, Wachtwoord, Windows 2000, Windows Server 2003, Works |