Il y a des centaines d'articles qui enseignent cela mais mon cas est "unique". Je devenais vu refuser l'accès à la ligne suivante:Comment ajouter un utilisateur de compte de domaine dans un groupe local?
Set objDomainUser = GetObject("WinNT://" & domainControllerIP & "/" & domainAccount & ",user")
Je réalisé que je devais transmettre les informations d'identification de l'utilisateur. La plupart des gens ne passent que le nom de domaine, ce qui est bien. Il se connectera à un contrôleur de domaine qui peut être connu en regardant la variable d'environnement% LOGONSERVER%. J'ai besoin de spécifier le nom du contrôleur de domaine (ou IP) sinon cela ne fonctionnera pas pour nous. Donc, j'essaie juste d'obtenir ce sintax correct. Voici mon code:
Sub AddAccountToLocalGroup(domainName, domainControllerIP, localGroup, domainAccount)
Dim localComputer : localComputer = GetMachineName()
Dim objLocalGroup
Dim objDomainUser
const ADS_SECURE_AUTHENTICATION = &h0001
const ADS_SERVER_BIND = &h0200
Set objLocalGroup = GetObject("WinNT://" & localComputer & "/" & localGroup & ",group")
'Set objDomainUser = GetObject("WinNT://" & domainControllerIP & "/" & domainAccount & ",user") 'ACCESS DENIED
'Error happens in Set objDomainUser
' Set objDomainUser = GetObject("WinNT:").OpenDSObject("WinNT://" & domainName & "/" & domainControllerIP & "/" & "Bob", "Bob", "Password", ADS_SECURE_AUTHENTICATION or ADS_SERVER_BIND)
' Set objDomainUser = GetObject("WinNT:").OpenDSObject("WinNT://" & domainName & "/" & domainControllerIP & "/" & "Bob", "Bob", "Password", ADS_SECURE_AUTHENTICATION or ADS_SERVER_BIND)
' Set objDomainUser = GetObject("WinNT:").OpenDSObject("WinNT://" & domainName & "/" & domainControllerIP & "/" & ",user", "Bob", "Password", ADS_SECURE_AUTHENTICATION or ADS_SERVER_BIND)
' Set objDomainUser = GetObject("WinNT:").OpenDSObject("WinNT://" & domainName & "/" & "Bob" & ",user", "Bob", "Password", ADS_SECURE_AUTHENTICATION or ADS_SERVER_BIND)
'Add domain user to local group
objLocalGroup.Add(objDomainUser.ADsPath)
If Err.Number <> 0 Then
WScript.Echo Err.Number
Else
WScript.Echo domainAccount & " has been added to local group."
End If
End Sub
Merci!
Cela m'a beaucoup aidé. Merci Monsieur! – Max
Le seul problème est maintenant comment puis-je obtenir l'objet compte d'utilisateur à l'intérieur de votre boucle? Set objDomainUser = GetObject ("WinNT: //" & ... – Max
bien que j'ai essayé cela avant et il m'a donné "Erreur d'exécution de Microsoft VBScript: Permission denied: 'GetObject'" Gardez à l'esprit que le VBScript (cmd.exe) est en cours d'exécution sous le compte système mais cela ne devrait pas avoir d'importance si je transmets les informations d'identification pour accéder aux objets AD Remarque: Si je cours le script lorsque je suis connecté avec mon compte, le script fonctionne, mais j'ai besoin pour faire ce travail sous compte SYSTEM et passer les informations d'identification à WinNT/LDAP, etc ... – Max