Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2298 connectés 

  FORUM HardWare.fr
  Systèmes & Réseaux Pro
  Infrastructures serveurs

  [VBS] Modifier un les paramètres de l'AD

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[VBS] Modifier un les paramètres de l'AD

n°53309
hyperman22
Posté le 12-05-2009 à 11:56:47  profilanswer
 

Bonjour,
 
Je souhaiterais savoir si certains d'entre vous on déja essayé d'utiliser des script VBS pour modifier les informations des comptes active directory.
J'ai effectivement trouvé pas mal d'information la dessus sur internet, mais un problème subsiste : les droits de modifications.
 
En effet, je souhaite que chaque utilisateur modifie lui meme son compte en exécutant le script VBS sur son poste. Ma question est donc : un utilisateur a t-il les droits par défaut de modifier son compte et si oui comment ? Voici mon code de test :
 

Code :
  1. 'Initialisation pour un bon fonctionnement :
  2. LDAP_Path_User = ""
  3. call preparationLDAP()
  4. Set oUser=GetObject(LDAP_Path_User)
  5. oUser.put "title","blabla"
  6. oUser.SetInfo
  7. ' **********************Debut FONCTION preparationLDAP **********************
  8. sub preparationLDAP()
  9.  '#############################
  10.  'Find the current LDAP Name
  11.  '#############################
  12.  Set oRootDSE = GetObject("LDAP://RootDSE" )
  13.  Set oShell = WScript.CreateObject("WScript.Shell" )
  14.  sUserName = oShell.Environment("PROCESS" ).Item("username" )
  15.  Const ADS_PROPERTY_CLEAR = 1
  16.  Const ADS_NAME_INITTYPE_GC = 3
  17.  Const ADS_NAME_TYPE_NT4 = 3
  18.  Const ADS_NAME_TYPE_1779 = 1
  19.  strDNSDomain = oRootDSE.Get("defaultNamingContext" )
  20.  Set objTrans = CreateObject("NameTranslate" )
  21.  objTrans.Init ADS_NAME_INITTYPE_GC, ""
  22.  objTrans.Set ADS_NAME_TYPE_1779, strDNSDomain
  23.  strNetBIOSDomain = objTrans.Get(ADS_NAME_TYPE_NT4)
  24.  strNetBIOSDomain = Left(strNetBIOSDomain, Len(strNetBIOSDomain) - 1)
  25.  strUserNTName = Trim(LogonAccount)
  26.  objTrans.Set ADS_NAME_TYPE_NT4, strNetBIOSDomain & "\" & strUserNTName
  27.  If Err.Number <> 0 Then
  28.  On Error GoTo 0
  29.  Wscript.Echo "ERROR: Login not found in Active Directory: " & strUserNTName
  30.  Else
  31.  On Error GoTo 0
  32.  strUserDN = objTrans.Get(ADS_NAME_TYPE_1779)
  33.  LDAP_Name = "LDAP://" & strUserDN
  34.  End If
  35.  '#############################
  36.  'Find the current User in this LDAP
  37.  '#############################
  38.  On error resume next
  39.  Set objConnection = CreateObject("ADODB.Connection" )
  40.  objConnection.Open "Provider=ADsDSOObject;"
  41.  Set objCommand = CreateObject("ADODB.Command" )
  42.  objCommand.ActiveConnection = objConnection
  43.  objCommand.CommandText = "SELECT adspath FROM '" & LDAP_Name & "' WHERE objectCategory='user' AND sAMAccountName='" & sUserName & "'"
  44.  Set objRecordSet = objCommand.Execute
  45.  if (objRecordset.Fields("adspath" ) <> "" ) then
  46.  GetAdsPath = objRecordset.Fields("adspath" )
  47.  end if
  48.  objConnection.Close
  49.  LDAP_Path_User = GetAdsPath
  50. end sub
  51. ' **********************Fin FONCTION preparationLDAP **********************


 
J'ai un message d'erreur sur la ligne "SetInfo" qui indique que je n'ai pas les droit de le faire. Je précise que lorsque je fait des lectures sur l'AD, je n'ai pas de problèmes.
 
Merci !!

mood
Publicité
Posté le 12-05-2009 à 11:56:47  profilanswer
 

n°53322
Je@nb
Modérateur
Kindly give dime
Posté le 12-05-2009 à 13:34:35  profilanswer
 

si il passe par l'aduc il a le droit ?

n°53326
hyperman22
Posté le 12-05-2009 à 14:18:05  profilanswer
 

je ne comprend pas bien ta réponse Je@nb. Car l'ADUC se trouve sur le serveur. Quand je suis connecté sur l'AD (enfin dans mon cas l'ADUC est sur le serveur Exchange), je suis connecté en Administrateur. Ce qui fait que j'ai forcément les droits.
 
Bon évidement, je me doute que dans des grandes organisations, cela ne fonctionne pas comme ca mais bon... Je ne suis pas expert en AD.
 
Comment puis-je tester qu'un utilisateur lambda puisse changer les paramètres de son compte (et uniquement de son compte) via l'ADUC ?
 
Merci !!

n°53333
El Pollo D​iablo
REACHED THE END OF CAKE
Posté le 12-05-2009 à 15:24:28  profilanswer
 

Dans l'ADUC par exemple tu peux voir les ACL sur les objets utilisateurs, et regarder quel droit a l'objet SELF sur un compte user : par défaut y'a pas les droits d'ecriture général (ce qui est evidemment une bonne chose à ne pas modifier).

n°53335
hyperman22
Posté le 12-05-2009 à 15:41:40  profilanswer
 

Merci de ta réponse.
Donc en résumé, tu dit que ce que je souhaite faire n'est pas très sécurisé ? Car dans tout les cas il faudra effectivement que chaque utilisateur puisse avoir les droits de modification de ses informations. Sinon, mon script me dira toujours que je n'ai pas les droits.

n°53337
El Pollo D​iablo
REACHED THE END OF CAKE
Posté le 12-05-2009 à 15:51:39  profilanswer
 

De base un user peut modifier certaines de ses infos, genre ses n° de téléphone, mais si tu lui donne un droit global sur lui même il peut faire des trucs mauvais point de vue sécu : rendre son mot de passe inexpirable, s'enlever son script de boot, changer ses options RAS, etc., et ce que tu veux faire demande a priori les droits complet sur l'objet user.

 

Tu veux que tes users fassent quoi exactement ?


Message édité par El Pollo Diablo le 12-05-2009 à 15:51:46
n°53338
hyperman22
Posté le 12-05-2009 à 15:55:13  profilanswer
 

Je souhaite qu'ils changent via le script VBS leur "title" comme indiqué dans le script ci dessus.  
 
Effectivement vu comme tu le dit il vaut mieux pas donner ces droits aux users !! Je pensais pas qu'ils pouvaient faire tout ca si on leur donnait ces droits !!
 

n°53340
El Pollo D​iablo
REACHED THE END OF CAKE
Posté le 12-05-2009 à 16:17:25  profilanswer
 

Arf j'avais pas eu le courage de lire le script, c'était au bout de 3 lignes :D

 

Si c'est juste ça, t'as quand meme un peu de granularité sur les droits, si dans l'ACL d'un user tu donnes à SELF les droits d'ecriture sur public information/informations publiques, ça donne le droit de modifier le "title" mais pas tout, meme si personnellement y'a déjà quelques trucs que j'aimerais vraiment pas que mes users puissent bidouiller : http://msdn.microsoft.com/en-us/library/ms684396.aspx
A toi de voir, mais recuperer les infos de titre que les gens veulent et lancer un script en admin pour faire les modifs sur tout le monde d'un coup ça me parait plus judicieux.

 

Et si tu veux mettre ça en place, avant que ton script marche ça implique donc de changer les ACL de tous tes users existant et de ne pas oublier de le faire ensuite pour les nouveaux.


Message édité par El Pollo Diablo le 12-05-2009 à 16:27:23
n°53342
Je@nb
Modérateur
Kindly give dime
Posté le 12-05-2009 à 16:32:54  profilanswer
 

Qd je parlais de l'ADUC, tu peux installer l'ADUC sur une machine standard (dl et installer les administrative tools). Tu te log avec un user standard et tu regardes si tu peux modifier le champs Title comme ça directement.
 
Si oui ok c'est good, sinon un petit coup de dsacls ou de modif directement dans l'aduc devrait faire l'affaire (tu peux spécifier attribut par attribut les droits).

n°53345
Je@nb
Modérateur
Kindly give dime
Posté le 12-05-2009 à 16:45:50  profilanswer
 

Code :
  1. Set objSysInfo = CreateObject("ADSystemInfo" )
  2. strUserDN = objSysInfo.UserName
  3. strUserDN = Replace(strUserDN, "/", "\/" )
  4. Set objUser = GetObject("LDAP://" & strUserDN)
  5. objUser.put "title","blabla"
  6. objUser.SetInfo


 
Si tu veux plus court ;)

mood
Publicité
Posté le 12-05-2009 à 16:45:50  profilanswer
 

n°53347
hyperman22
Posté le 12-05-2009 à 16:53:35  profilanswer
 

Merci Je@nb !! Effectivement je me doutait qu'il y avait plus cour pour récupéré les info LDAP d'un user masi je n'avais pas potassé ca car ca marchais !! Merci quand meme, je garde ca de coté !!

 

Mais le problème de droit est toujours le meme !!Je DL l'ADUC


Message édité par hyperman22 le 12-05-2009 à 16:54:33
n°53351
hyperman22
Posté le 12-05-2009 à 17:28:49  profilanswer
 

SInon, effectivement le champs est grisé dans l'ADUC !! J'essaye de modifier les droits sur l'attribut 'titre' maais cela ne dégrise pas mon champ titre... Il faut peut-etre attendre la réplication de l'AD... On verra demain !!
 
allé bonne soirée !

n°53352
Je@nb
Modérateur
Kindly give dime
Posté le 12-05-2009 à 17:34:16  profilanswer
 

Un F5 devrait suffire :)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Systèmes & Réseaux Pro
  Infrastructures serveurs

  [VBS] Modifier un les paramètres de l'AD

 

Sujets relatifs
Problème AD et VBSRESOLU [Active directory] comment modifier les paramètres dns des XP
gestion des portables sur domaine AD[AD] sites distants et utilisateurs des serveurs membres
[Win2k3 AD] Impossible de créer un utilisateur[w2k3 AD] Renommage massif de groupes AD avec un filtre
Comptes bloqués sur AD (WIN 2003) de manière aléatoire[RESOLU] restructuration AD et Forêt
Plus de sujets relatifs à : [VBS] Modifier un les paramètres de l'AD


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR