Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Les objets Active Directory peuvent être utilisés pour localiser des ressources dans un domaine réseau d’ordinateur, comme les utilisateurs, les stratégies de sécurité, les imprimantes, les composants distribués et d’autres ressources. Les objets Active Directory peuvent être créés et mis à jour à l’aide de WMI. Vous pouvez mettre à jour un objet Active Directory lorsque de nouvelles informations sur l’objet sont disponibles à l’aide de la notification d’événement WMI. Par exemple, une fois qu’un objet utilisateur Active Directory est créé, vous pouvez détecter sa création avec une requête d’événement dans WMI et quand l’événement est reçu, vous pouvez mettre à jour l’objet avec de nouvelles informations.
L’exemple de code suivant crée une nouvelle instance WMI de la classe qui représente l’objet utilisateur Active Directory. L’exemple montre comment affecter des valeurs à différentes propriétés requises pour créer la nouvelle instance d’utilisateur Active Directory.
Const cUserID = "WMIUser"
Const cComputerName = "LocalHost"
Const cWMInamespace = "root/directory/LDAP"
Const cWMIclass = "ds_user"
Const ADS_UF_ACCOUNTDISABLE = &h000002
Set objWMILocator = _
CreateObject("WbemScripting.SWbemLocator")
objWMILocator.Security_.AuthenticationLevel = _
wbemAuthenticationLevelDefault
Set objWMIServices = objWMILocator. _
ConnectServer(cComputerName, cWMInamespace, "", "")
Set objWMIClass = objWMIServices.Get(cWMIclass)
Set objWMIInstance = objWMIClass.SpawnInstance_
objWMIInstance.DS_sAMAccountName = userID
objWMIInstance.ADSIPath = "LDAP://CN=" & userID & _
",CN=Users,DC=LissWare,DC=Net"
objWMIInstance.Put_ (wbemChangeFlagCreateOrUpdate Or _
wbemFlagReturnWhenComplete)
WScript.Echo "Active Directory user created."
L’exemple de code suivant met à jour une instance WMI d’un objet Active Directory. Dans cet exemple, l’attribut displayname est mis à jour.
set svc = getObject("Winmgmts:root\directory\ldap")
' A context object is used to tell the provider which
' specific properties are going to be updated.
' In most cases, when you update a WMI object you do not
' need to specify an additional context object.
' However, if a context object is not supplied for a
' directory service provider, the update fails.
set octx = createobject( _
"wbemscripting.swbemnamedvalueset")
octx.add "__PUT_EXT_PROPERTIES", array("ds_displayname")
octx.add "__PUT_EXTENSIONS", true
octx.add "__PUT_EXT_CLIENT_REQUEST", true
set objEnum = svc.execQuery( _
"select * from ds_computer where ds_cn = 'userName'", "WQL", 32)
for each obj in objEnum
obj.ds_DisplayName = "updatedName"
obj.put_ 1, octx
next
WScript.Echo "Active Directory user successfully updated"