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

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

  GPO : Variable @ IP dans un script batch d'ouverture de session

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

GPO : Variable @ IP dans un script batch d'ouverture de session

n°64352
joelmander
Je galère mais j'y arriverai !
Posté le 04-03-2010 à 18:32:10  profilanswer
 

Bonjour,
 
Voilà le contexte de ma demande :
Dans l'entreprise où j'effectue présentement mon stage de fin d'étude nous trouvons un siège et des agences distantes (la liaison est VPN PPTP). Chaque entité possède son propre sous-réseau. Nous trouvons du Windows 2003 pour la partie serveur, du Windows XP et Windows 7 pour la partie clients...
Le siège est en 192.168.3.0/24, les agences en 192.168.(numéro du département).0/24... Le serveur de fichier est situé au siège.
 
On me demande s'il est possible pour les utilisateurs du réseau local siège de monter automatiquement à l'ouverture de session un lecteur réseau correspondant à un dossier partagé qui porte leur nom d'utilisateur, plutôt facile :
Je crée une stratégie de groupe pour l'OU correspondante avec un script exécuté à l'ouverture de session qui contient net use z: \\nomdu serveur\%USERNAME%
Pour le démonter je pourrais exécuter un script à la fermeture de session qui serait net use z: /delete.
 
Le hic, c'est qu'au siège, il y a des utilisateurs nomades (avec des PC portables). On ne souhaite pas que ces derniers ait accès à leur lecteur réseau lorsqu'ils se connectent depuis les agences distantes (on peut monter grâce au routage mis en place des lecteurs réseau depuis ces agences) pour des raisons de maintien de la bande passante.
 
Comme les adresses IP sont distribuées à travers un DHCP, je me suis dit (et c'est là l'objet de ma question) qu'il est peut-être possible d'exécuter la commande net use seulement après avoir testé la valeur de l'adresse IP (du genre if "%IPADDRESS%"=="192.168.3.*" net use z: \\nomdu serveur\%USERNAME%...
 
Pouvez-vous m'indiquer quelle est la variable Windows (si elle existe) correspondant à l'adresse IP de l'hôte ? Si cette variable n'existe pas que me suggérez-vous pour résoudre mon problème ?
 
Merci d'avance.


---------------
Google n'est pas toujours mon ami... Mon site : http://francoisdm.fr
mood
Publicité
Posté le 04-03-2010 à 18:32:10  profilanswer
 

n°64356
Je@nb
Modérateur
Kindly give dime
Posté le 04-03-2010 à 19:34:39  profilanswer
 

WMI pour récupérer l'adresse IP (fait gaffe si tu as plusieurs ip aussi ...)

n°64357
joelmander
Je galère mais j'y arriverai !
Posté le 04-03-2010 à 19:56:00  profilanswer
 

Je@nb a écrit :

WMI pour récupérer l'adresse IP (fait gaffe si tu as plusieurs ip aussi ...)


 
Merci pour la réponse.
Je ne maîtrise pas du tout les requêtes WMI. Je pense que ça se passe par le biais de la console wmimgmt.msc mais je dois avouer que je sèche...


---------------
Google n'est pas toujours mon ami... Mon site : http://francoisdm.fr
n°64358
Je@nb
Modérateur
Kindly give dime
Posté le 04-03-2010 à 20:07:36  profilanswer
 

bah le wmi en bat c'est un peu nul quoi; faut passer à du vbs.
 
wmimgmt ne sert pas du tout à ça

n°64361
joelmander
Je galère mais j'y arriverai !
Posté le 04-03-2010 à 20:50:02  profilanswer
 

Vbs alias Visual Basic Script ? Oups je crois que je suis dépassé là...

n°64362
Je@nb
Modérateur
Kindly give dime
Posté le 04-03-2010 à 20:50:51  profilanswer
 

Bah ouais, les fichiers bat ça fait belle lurette qu'il faut pas utiliser ça :/

n°64363
joelmander
Je galère mais j'y arriverai !
Posté le 04-03-2010 à 20:53:07  profilanswer
 

J'en prends bonne note. Un petit conseil pour débuter dans le scripting VBS ?

n°64364
ShonGail
En phase de calmitude ...
Posté le 04-03-2010 à 23:21:14  profilanswer
 

WMI ca passe pas à ma connaissance avec de simples droits utilisateur.
 
Perso, je suis passé par autoit pour faire l'équivalent de ce que tu demandes.
 
Sinon, tu peux aussi placer des GPO suivant des sites.

n°64408
kalumai
Posté le 05-03-2010 à 21:50:59  profilanswer
 

Salut Joelmander
J'utilise dans ma boite un script vbs qui se lance par une GPO.
Chaque utilisateur possède à l'ouverture de session (GPO) toujours 3 raccourcis de lecteur réseau.
On définit le chemin souhaité et le nom du raccourci dans ce script.

n°64409
kalumai
Posté le 05-03-2010 à 21:53:37  profilanswer
 

Bah, pas français ça sorry...
A l'ouverture de session, chaque utilisateur retrouve sur son bureau les raccourcis pointant vers les lecteurs réseau.
 
Il faut l'appliquer la GPO sur l'UO voulue et après filtrer éventuellement à cause des OS différents, d'ailleurs j'ai un souci car j'ai du XP (là ça fonctionne OK) mais j'ai aussi du Vista et seven (et là ça marche moins bien)
 
Je cherche de l'aide aussi sur ces filtres GPO

mood
Publicité
Posté le 05-03-2010 à 21:53:37  profilanswer
 

n°64460
joelmander
Je galère mais j'y arriverai !
Posté le 08-03-2010 à 09:24:44  profilanswer
 

Bon après avoir un peu fait le tour de  ce qui se fait, j'ai pondu un script VBS (mon tout 1er ! Je fais un voeu !  :pt1cable: ) :
 
strComputer = "."
 
Set objWMIService = GetObject("winmgmts:" & "!\\" & strComputer & "\root\cimv2" )
Set colAdapters = objWMIService.ExecQuery("Select * from Win32_NetworkAdapterConfiguration Where IPEnabled = True" )
Set objNetwork = wscript.CreateObject("wscript.network" )
 
For Each objAdapter in colAdapters
 
IP = LBound(objAdapter.IPAddress)
 
If Mid (objAdapter.IPAddress(IP),8,3) = ".3."  then
CreateObject("WScript.Shell" ).Run "C:\mappage.bat"
end if
 
next
 
Le script mappage.bat lancé sera :
 
net use z: \\monserveurdefichiers\%USERNAME%
 
C'est loin d'être parfait et donc j'imagine perfectible (à vos suggestions !).
 
Voilà voilà voilà


---------------
Google n'est pas toujours mon ami... Mon site : http://francoisdm.fr
n°64462
Je@nb
Modérateur
Kindly give dime
Posté le 08-03-2010 à 09:58:06  profilanswer
 

pk tu montes pas ton share en vbs aussi plutot que d'appeler un .bat ? :/

n°64463
joelmander
Je galère mais j'y arriverai !
Posté le 08-03-2010 à 10:08:53  profilanswer
 

Je@nb a écrit :

pk tu montes pas ton share en vbs aussi plutot que d'appeler un .bat ? :/


Bah j'ai pas réussi à intégrer la variable username   :(  
Alors du coup j'ai joué à jojo le bricolo. :sol:
Ça marche, même si je sais que c'est moyen. Juré je vais continuer à chercher à améliorer ça.
Toujours à l'écoute de tes brillantes suggestions !  :)

n°64464
Je@nb
Modérateur
Kindly give dime
Posté le 08-03-2010 à 10:14:52  profilanswer
 

google en 2min :
 

Code :
  1. ' MNDUserName.vbs
  2. ' VBScript to map a network drive to the UserName.
  3. ' Author Guy Thomas http://computerperformance.co.uk/
  4. ' Version 1.3 - April 24th 2005
  5. ' -----------------------------------------------------------------'
  6. Option Explicit
  7. Dim objNetwork
  8. Dim strDriveLetter, strRemotePath, strUserName
  9. strDriveLetter = "J:"
  10. strRemotePath = "\\grand\home"
  11. ' Purpose of script to create a network object. (objNetwork)
  12. ' Then to apply the MapNetworkDrive method. Result J: drive
  13. Set objNetwork = WScript.CreateObject("WScript.Network" )
  14. ' Here is where we extract the UserName
  15. strUserName = objNetwork.UserName
  16. objNetwork.MapNetworkDrive strDriveLetter, strRemotePath _
  17. & "\" & strUserName
  18. ' Extra code just to add a message box
  19. WScript.Echo " Launch Explorer, check: "& strDriveLetter
  20. WScript.Quit
  21. ' End of MapNetworkDrive Example logon script.

n°64466
joelmander
Je galère mais j'y arriverai !
Posté le 08-03-2010 à 10:32:38  profilanswer
 

Je@nb, si tu n'existais pas, il faudrait t'inventer !
Merci

n°64471
joelmander
Je galère mais j'y arriverai !
Posté le 08-03-2010 à 11:23:39  profilanswer
 

Voilà la trombine de mon script
 
Set objWMIService = GetObject("winmgmts:" & "!\\" & strComputer & "\root\cimv2" )
Set colAdapters = objWMIService.ExecQuery("Select * from Win32_NetworkAdapterConfiguration Where IPEnabled = True" )
Set objNetwork = wscript.CreateObject("wscript.network" )
For Each objAdapter in colAdapters
IP = LBound(objAdapter.IPAddress)
If Mid (objAdapter.IPAddress(IP),8,3) = ".3."  then
Dim objNetwork
Dim strDriveLetter, strRemotePath, strUserName
strDriveLetter = "Z:"
strRemotePath = "\\monserveurdefichier"
Set objNetwork = WScript.CreateObject("WScript.Network" )
strUserName = objNetwork.UserName
objNetwork.MapNetworkDrive strDriveLetter, strRemotePath _
& "\" & strUserName
end if
next
 
J'espère que j'ai bon !  :D


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

  GPO : Variable @ IP dans un script batch d'ouverture de session

 

Sujets relatifs
Adresse IP barre de notificationGPO et problème DHCP
Erreur script VBS Active directory Windows Server 2003Déploiement Soft GPO sur Ordi avec AD W2003 pour XP
Telephone hybride - bascule automatique de RTC a IP sur occupation[GPO & IE] Test version du fichier inetres.adm
Script de désinstallationdeploiement de logiciel par GPO, windows serveur 2008
Résolution DNS - 1 nom pour 2 IP 
Plus de sujets relatifs à : GPO : Variable @ IP dans un script batch d'ouverture de session


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