Tom's Guide > Forum > Accès Internet & Réseaux > [AD] Script pour créer des profils itinérants
[AD] Script pour créer des profils itinérants - Accès Internet & Réseaux
TomsGuide.com : 800 000 inscrits répondent à toutes vos questions high-tech et informatique. Pour obtenir de l'aide, inscrivez-vous gratuitement !
Mot :    Pseudo :           
 

Bonjour à tous,
savez-vous où je pourrai trouver un ou plusieurs scripts qui me permettrait de créer des profils itinérants pour tous les utilisateurs catalogués dans mon AD ?
Ainsi, qu'un lecteur réseau partagé sur le serveur ?

Pour mieux vous expliquer, je voudrai faire exactement la même chose que cette video : http://tosweb.free.fr/Configuratio [...] e9rant.wmv

Mais tout cela en utilisant un script que je placerai sur le serveur.
Cependant, je ne connais pas du tout les lignes de commandes à mettre dans le fichier .bat

merci pour votre aide.

Liens sponsorisés
Inscrivez-vous ou connectez-vous pour masquer ceci.

j'avai fait un script en VBS il y a quelques années qui fait à peu près ça, je te le passe tel quel, il faut le modifier un peu :

Code :
  1. On Error Resume Next
  2. OUdepart = InputBox("Entrez l'UO de départ, elle doit exister !!!", "UO de départ","MonOU" )
  3. OUacreer = InputBox("Entrez l'UO à créer ou à utiliser.", "UO pour les comptes","UO_Temporaire" )
  4. gpacreer = InputBox("Entrez le nom du groupe à créer ou à utiliser", "Groupe","Groupe_temporaire" )
  5. listedecompte = InputBox("Entrez le chemin de la liste des comptes.", "Fichier de comptes","liste.txt" )
  6. typeprofil = InputBox("Entrez le type du profil : 1 pour itinérant.", "Profil","0" )
  7. if TypeProfil = 1 then
  8.     serveur = InputBox("Chemin des profils.", "Chemin","\\serveur\profils$\" )
  9. End If
  10. '=========================================================
  11. '=========================================================
  12. 'Connexion au domaine
  13. '=========================================================
  14. Set racineAD = GetObject("LDAP://rootDSE" )
  15. '=========================================================
  16. 'On entre dans l'UO de base
  17. '=========================================================
  18. Set UOdebase = GetObject("LDAP://" & racineAD.Get("defaultNamingContext" ))
  19. '=========================================================
  20. 'On entre dans l'UO de départ
  21. '=========================================================
  22. Set UO = UOdebase.GetObject("organizationalUnit","ou=" & OUdepart)
  23. if(Err.Number <> 0)then
  24.     wscript.echo "L'UO [" & OUdepart & "] ne semble pas exister, fin du script."
  25.     Err.Clear
  26.     wscript.quit
  27. end if
  28. '=========================================================
  29. 'On créer l'UO
  30. '=========================================================
  31. if OUacreer = "" then
  32.     Set uoacreer = UO
  33.     uoacreer.SetInfo
  34. end if
  35. if OUacreer <> "" then
  36.     Set uoacreer = UO.Create("organizationalUnit", "ou=" & OUacreer)
  37.     uoacreer.SetInfo
  38. end if
  39. if(Err.Number <> 0)then
  40.     wscript.echo "Erreur lors de la création de l'UO [" & OUacreer & "], l'objet semble déjà exister."
  41.     Err.Clear
  42.     wscript.quit
  43. end if
  44. '=========================================================
  45. 'Création du groupe
  46. '=========================================================
  47. ADS_GROUP_TYPE_GLOBAL_GROUP = &h2
  48. ADS_GROUP_TYPE_LOCAL_GROUP = &h4
  49. ADS_GROUP_TYPE_UNIVERSAL_GROUP = &h8
  50. ADS_GROUP_TYPE_SECURITY_ENABLED = &h80000000
  51. Set Groupe = uoacreer.Create("group", "cn=" & GPacreer)
  52.     Groupe.Put "sAMAccountName", GPacreer
  53.     Groupe.Put "groupType", ADS_GROUP_TYPE_GLOBAL_GROUP Or _
  54.     ADS_GROUP_TYPE_SECURITY_ENABLED
  55.     Groupe.SetInfo
  56. if(Err.Number <> 0)then
  57.     wscript.echo "Erreur lors de la création du groupe [" & GPacreer & "]."
  58.     Err.Clear
  59.     wscript.quit
  60. end if
  61. '=========================================================
  62. 'Création des utilisateurs
  63. '=========================================================
  64. '=========================================================
  65. 'Déclaration des variables
  66. '=========================================================
  67. Const avant = 1, defaut = -2, vrai = -1, faux = 0
  68. Dim ObjetFichier, Fichier, Chaine
  69. Set ObjetFichier = CreateObject("Scripting.FileSystemObject" )
  70. Set Fichier = ObjetFichier.GetFile(listedecompte)
  71. Set Chaine = Fichier.OpenAsTextStream(avant, defaut)
  72. '=========================================================
  73. 'Fin déclaration
  74. '=========================================================
  75. '=========================================================
  76. 'On lit les lignes du fichier
  77. '=========================================================
  78. do until Chaine.AtEndOfStream
  79.     login = Chaine.ReadLine
  80. '=========================================================
  81. 'On crée l'utilisateur
  82. '=========================================================
  83.     Set Utilisateur = uoacreer.Create("user", "cn=" & login)
  84.     Utilisateur.Put "sAMAccountName", login
  85.     Utilisateur.SetInfo
  86.     if(Err.Number <> 0)then
  87.         wscript.echo "Erreur lors de la création du compte [" & login & "], il existe probablement déjà."
  88.     End if
  89. '=========================================================
  90. 'S'il n'y a pas eu d'erreur, on applique les propriétés du compte
  91. '=========================================================
  92.     if(Err.Number = 0)then
  93.         Utilisateur.AccountDisabled = True
  94.         Utilisateur.SetInfo
  95.         Utilisateur.Put "pwdLastSet", 0
  96.         Utilisateur.SetInfo
  97. '=========================================================
  98. 'Cas d'un utilisateur itinérant
  99. '=========================================================
  100.         if TypeProfil = 1 then
  101.             Utilisateur.Profile = serveur & login
  102.             Utilisateur.SetInfo
  103.         End If
  104.     End If
  105.     Err.Clear
  106. loop
  107. Chaine.Close
  108. MsgBox "Opération terminée !"



le fichier txt à mettre en entrée est simplement une liste de login
je ne gère pas les mot de passe
les comptes sont créés désactivés

------------------------------ Pub/piratage/spam/villes virtuelles/...-->BAN, je ne cherche pas à comprendre
Editer vos titres (pas de titre en majuscule, [RESOLU] quand c'est le cas)
Tutos IDN
Répondre à maith

OK merci ;)
Et j'ai juste a modifier les lignes que je veux, et renommer le fichier texte en .bat...c'est bien ca ?

Répondre à quaresma

oui et non
tu modifie ce que tu veux
mais il n'y a pas de .bat ici

ce script est en VBS (.vbs), il doit être exécuté depuis une machine du domaine avec les droits administrateur

pour fonctionner du dois créer un .txt avec la liste des login à créer

sans rien modifier, il ne fait pas ce que tu veux, mais il contient tout ce dont tu as besoin pour en faire un qui colle parfaitement à ce que tu veux faire

------------------------------ Pub/piratage/spam/villes virtuelles/...-->BAN, je ne cherche pas à comprendre
Editer vos titres (pas de titre en majuscule, [RESOLU] quand c'est le cas)
Tutos IDN
Répondre à maith

ok, donc ca n'a rien a voir avec ma question.
Moi je veux faire un script en .bat

merci qd même :)

Répondre à quaresma

?????? et ça change quoi, si ce n'est qu'avec un ".bat" tu ne pourras par faire la moitié de ce que tu veux ?

c'est l'extension qui te gène ?

n'importe quoi...
++

------------------------------ Pub/piratage/spam/villes virtuelles/...-->BAN, je ne cherche pas à comprendre
Editer vos titres (pas de titre en majuscule, [RESOLU] quand c'est le cas)
Tutos IDN
Répondre à maith

maith a écrit :

?????? et ça change quoi, si ce n'est qu'avec un ".bat" tu ne pourras par faire la moitié de ce que tu veux ?

c'est l'extension qui te gène ?

n'importe quoi...
++



salut,
non ce n'est pas l'extension qui me dérange.
Seulement, ma prof d'info m'a dit d'utiliser un script avec un fichier en .bat, c'est pour cela que je veux faire un script batch.
La création de l'UO et de l'utilisateur, je vais la faire à la main.
Je veux juste un bout de script que je place dans le dossier des scripts et qui crée un profil itinerant pour l'utilisateur que je rentre dans l'AD... :ange:
Comme sur la video...

Répondre à quaresma

très limité windows en ligne de commande, je te recommande vraiment (et à ta prof aussi) d'utiliser des langages un peu évolués (vbs, powershell...)

http://technet2.microsoft.com/wind [...] x?mfr=true

------------------------------ Pub/piratage/spam/villes virtuelles/...-->BAN, je ne cherche pas à comprendre
Editer vos titres (pas de titre en majuscule, [RESOLU] quand c'est le cas)
Tutos IDN
Répondre à maith

Ok merci pour ce lien.
Perso j'utilise W2KServer, est-ce que les commandes sont identiques?
Quelle est la commande qui permet de spécifier le chemin du profil itinerant de l'utilisateur sur le serveur dans le script ?
Autres petite question :ange: , sous quelle extension je dois enregistrer le fichier ?

Merci pour ton aide :hello:

Répondre à quaresma

pour le chemin du profile
dans mon script c'est géré, si tu veux utiliser les commandes du site, c'est écrit sur le site

Code :
  1. -hmdir HomeDirectory
  2. Specifies the home directory location of the user you want to add. If HomeDirectory is given as a Universal Naming Convention (UNC) path, then you must specify a drive letter to be mapped to this path using the -hmdrv parameter.
  3. -hmdrv DriveLetter :
  4. Specifies the home directory drive letter (for example, E:) of the user you want to add..
  5. -profile ProfilePath
  6. Specifies the profile path of the user you want to add.



pour les extensions
si tu parle de mon script, c'est .vbs
si tu parle des commandes du site demi-Kr0 $oft, dans un fichier .bat

------------------------------ Pub/piratage/spam/villes virtuelles/...-->BAN, je ne cherche pas à comprendre
Editer vos titres (pas de titre en majuscule, [RESOLU] quand c'est le cas)
Tutos IDN
Répondre à maith

maith a écrit :

pour les extensions
si tu parle de mon script, c'est .vbs
si tu parle des commandes du site demi-Kr0 $oft, dans un fichier .bat



Je parlais du site de technet2
c'est quoi le site demi-Kr0 $oft ?

Est-ce que la syntaxe est la même si j'enregistre le fichier en .bat à la place de .vbs ?

Répondre à quaresma

demi-Kr0 $oft--->cherche un peu :p

pour le reste, j'ai répondu

------------------------------ Pub/piratage/spam/villes virtuelles/...-->BAN, je ne cherche pas à comprendre
Editer vos titres (pas de titre en majuscule, [RESOLU] quand c'est le cas)
Tutos IDN
Répondre à maith

Citation :

demi-Kr0 $oft--->cherche un peu :p



Ok lol j'ai compris. :D
Hier j'avais un peu la tête ds le c** :sleep:

Citation :

pour le reste, j'ai répondu



je vais essayer de créer un script avec le lien demi-Kr0 $oft que tu m'a donné et je te tiens au courant.

@++ merci

Répondre à quaresma

kikou
voici donc le script que j'ai réalisé en fouillant un peu dans toutes les docs que j'ai trouvé sur google

Code :
  1. dsadd user %USERNAME% [-hmdir \\serveur\profils\%USERNAME%]
  2. NET USE * /DELETE /YES
  3. NET USE H: \\serveur\profils\%USERNAME% /PERSISTENT:NO



Qu'en penses-tu ?


Message édité par quaresma le 30-12-2007 à 14:32:26
Répondre à quaresma

quand c'est entre [] c'est pour dire que c'est un paramètre optionnel, mais il ne faut pas les utiliser dans le code

le net use * /delete c'est un peu violent, il faut que tu sois certain que tes utilisateurs n'aient pas d'autres lecteurs mappés

mais le plus important, c'est ton %username% qu'il faut déclarer quelque part

tel quel (en corrigeant les []), ton script va créer un utilisateur qui porte le nom de l'utilisateur depuis lequel il va être lancé
et comme tu ne peux le lancer que depuis le contrôleur de domaine en administrateur, tu vas tenter de créer un compte nommé administrateur (donc erreur)

en batch il faut aussi doubler les % autour des variables

tu confonds les commandes d'administrations et de login
la création d'un compte ne doit être exécutées que par l'admin, une seule fois, le mappages des lecteurs réseaux doit au contraire être lancé à chaque ouverture de session->2 scripts distincts

et pour finir, tu ne souhaite pas juste créer 1 compte, mais plusieurs, il faut donc une boucle autour du code suivant

Code :
  1. set compte=toto
  2. dsadd user %%compte%% -hmdir \\serveur\profils\%%compte%%

------------------------------ Pub/piratage/spam/villes virtuelles/...-->BAN, je ne cherche pas à comprendre
Editer vos titres (pas de titre en majuscule, [RESOLU] quand c'est le cas)
Tutos IDN
Répondre à maith

Citation :

quand c'est entre [] c'est pour dire que c'est un paramètre optionnel, mais il ne faut pas les utiliser dans le code



oki [:ahm86funky:12]

Citation :

tu confonds les commandes d'administrations et de login
la création d'un compte ne doit être exécutées que par l'admin, une seule fois, le mappages des lecteurs réseaux doit au contraire être lancé à chaque ouverture de session->2 scripts distincts



D'accord

Citation :

et pour finir, tu ne souhaite pas juste créer 1 compte, mais plusieurs, il faut donc une boucle autour du code suivant

Code :
  1. set compte=toto
  2. dsadd user %%compte%% -hmdir \\serveur\profils\%%compte%%




Pour bien comprendre. En fait, au préalable je crée manuellement l'utilisateur dans l'AD.
Ensuite je crée son profil itinerant et son lecteur réseau via un script.
Donc, je pense (mais je ne suis pas du tout sûr) que dans le code que tu m'a présenté ci-dessus, je ne dois garder que le -hmdir \\serveur\profils\%%compte%% puisque l'utilisateur sera deja créé dans l'Active Directory.

Répondre à quaresma

tu créé l'utilisateur avec dsadd (ou manuellement si tu n'en as pas beaucoup à créer), si tu utilise bien les options, il sera directement de type itinérant

puis tu créés les scripts de login qui montent les lecteurs réseaux

------------------------------ Pub/piratage/spam/villes virtuelles/...-->BAN, je ne cherche pas à comprendre
Editer vos titres (pas de titre en majuscule, [RESOLU] quand c'est le cas)
Tutos IDN
Répondre à maith

Salut et bonne année.
En fait, la commande à passer n'est pas dsadd mais dsmod car je ne veux pas créer un user mais modifier ses attributs. :hello:

Répondre à quaresma

désolé, je n'avais pas fait gaffe

------------------------------ Pub/piratage/spam/villes virtuelles/...-->BAN, je ne cherche pas à comprendre
Editer vos titres (pas de titre en majuscule, [RESOLU] quand c'est le cas)
Tutos IDN
Répondre à maith
Tom's Guide > Forum > Accès Internet & Réseaux > [AD] Script pour créer des profils itinérants
Aller à :

Il y a 2015 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.

Attention

Vous allez répondre sur un sujet resté inactif pendant plus de 6 mois.
Assurez-vous d'apporter des éléments nouveaux à la discussion avant de poursuivre.

Répondre Annuler
Liens