|
Hiérarchie des objets de classe WinNT :
| Objet de classe |
Description |
 Namespace |
Récipient de plus haut niveau. |
  Domain |
Représente un domaine. |
  User |
Représente un compte utilisateur du domaine. |
  Group |
Représente un groupe global du domaine. |
  Computer |
Représente un ordinateur (serveur ou station de travail). |
  User |
Représente un compte utilisateur local. |
  LocalGroup |
Représente un groupe local. |
  PrintJob |
Représente un travail d'impression. |
  PrintQueue |
Représente une file d'impression. |
  Service |
Représente une application qui s'exécute en tant que service. |
  FileService |
Représente le service qui permet d'accèder au système de fichiers. |
  FileShare |
Représente un partage de fichiers. |
  Resource |
Représente une ressource. |
  Session |
Représente une session. |
Remarque :
L'exemple ci-dessous illustre l'utilisation de l'objet User :
Option Explicit
On Error Resume Next
DIM WshShell, objDomain, objUser
DIM name, fullname, descript, passw
DIM server, title, datime
datime = "[" & date & " " & time & "] "
server = "//ServerName"
name = "Bill"
fullname = "Bill Brown"
descript = "My favorite user"
passw = "Gateway"
title = "Add User"
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Popup "Create new user " & name, 5, title, vbOKonly
Set objDomain = GetObject("WinNT:" & server)
If err.number <> 0 Then
AddLog (datime & "*** Error: " & err.number & " ADSI not supported on " & server)
WshShell.Popup "*** Error: " & err.number & " ADSI not supported on " & server, 10, title, vbOKonly
WScript.Quit ' Sorry, that's the end ...
End if
' Now we try to create the user object and set the properties
Set objUser = objDomain.Create("user", name)
objUser.Description = descript
objUser.FullName = fullname
objUser.SetInfo
If err.number = 0 Then ' Success?
' Yes, add record to logfile
AddLog datime & "User " & user & " created on " & server
' Inform user with a short message (20 seconds)
WshShell.Popup "User " & name & " created", 10, title, vbOKonly
Else ' some problem ###
If err.number = -2147022672 then
' User exists, Add error into logfile
AddLog datime & "*** Error: User " & name & " already exists"
' Inform user with a short message (20 seconds)
WshShell.Popup "*** Error: User " & name & " already exists", 10, title, vbOKonly
Else
' Add error into logfile
AddLog datime & "*** Error: " & err.number & " could not create user " & name
' Inform user with a short message (20 seconds)
WshShell.Popup "*** Error: " & err.number & " could not create user " & name, 10, title, vbOKonly
End if
End if
Set objUser = Nothing
Set objDomain = Nothing
WScript.Quit
Sub AddLog (txt)
' Add a record to the logfile
Const file1 = "C:\NewUserLog.txt" ' Log file name
Const ForAppending = 8 ' Append mode
Dim fso, fi ' object variable
' Creates a FileSystemObject object
Set fso = CreateObject("Scripting.FileSystemObject")
' open file, force create, if not exists
Set fi = fso.OpenTextFile(file1, ForAppending, true)
fi.WriteLine (txt)
Set fi = Nothing
End Sub
|