Identification du site de connexion avec Windows 2003 server

Identification du site de connexion avec Windows 2003 server - Infrastructures serveurs - Systèmes & Réseaux Pro

Marsh Posté le 25-04-2007 à 10:40:38    

Bonjour à tous,
 
Je travaille dans une entreprise répartie sur deux lieux géographiques différents  (les deux sites sont interconnectés via une ligne haut débit SDSL).
 
Nous allons passer très prochainement à Windows 2003 server, et je ne sais pas comment rendre fonctionnelle sous ce système ma routine d'identification du site de connexion actuellement utilisée dans mes LogonScripts.
 
Je m'explique :
Actuellement sur le site principal je dispose d'un controleur principal de domaine sous WIN NT 4.0 server,  et sur le 2ème site il y a un serveur secondaire de domaine également sous Wint NT 4.0 Server.
Dans les LogonScripts installés sur ces deux serveurs, j'ai spécifié la routine suivante qui permet d'identifier sur quel site l'utilisateur s'authentifie et de connecter en conséquence les ressources locales du site :
 
rem LogonScript de Mr...
 
@echo off
 
IF "%LOGONSERVER%"=="\\SERVEUR1SITE1" GOTO SITE1
IF "%LOGONSERVER%"=="\\SERVEUR2SITE1" GOTO SITE1
GOTO SITE2
 
:SITE1
net use L: \\SERVEUR1SITE1\LOGICIELS
net use N: \\SERVEUR2SITE1\COMMUN
 
GOTO FIN
 
:SITE2
net use L: \\SERVEURSITE2\LOGICIELS
net use N: \\SERVEURSITE2\COMMUN
GOTO FIN
 
:FIN
%LOGONSERVER%\NETLOGON\metier\metier-agent.bat

 
Comment conserver cette fonctionnalité sous Windows 2003 sachant que :
 - Les serveurs CPD et CSD actuels sous WIN NT 4.0 vont disparaitre.
 - Le serveur 2003 principal sera hébergé sur le site principal.
 - Nous installerons sur le site secondaire soit un serveur 2003 secondaire, soit un serveur sous windows 2000 membre du domaine (nous ne savons pas encore) qui hébergera les ressources locales du site.
 
Je vous remercie de m'avoir lu et j'espère que vous pourrez m'aider à trouver une solution.
 
Cordialement.

Reply

Marsh Posté le 25-04-2007 à 10:40:38   

Reply

Marsh Posté le 25-04-2007 à 10:57:03    

En plaçant simplement ce script dans le logonscript que tu appliqueras par gpo sur tes pc clients.
 
Ca ne devrait poser aucun soucis. En tout cas, je ne vois aucun problème.


---------------
Mon Blog : LeVeilleur.net | Hébergement d'images : Hostipics.net
Reply

Marsh Posté le 25-04-2007 à 13:28:50    

Merci pour ta réponse.
 
Pourrais-tu me préciser à quoi correspond GPO car je n'ai pas été formé encore à Windows 2003.
 
Si je comprends bien, je pourrai associer à chaque poste un logonscript dans Win 2003, seulement pour les PC portables comment savoir si l'agent se connecte sur le site 1 ou le site 2 pour connecter ensuite les bonnes ressources ?

Reply

Marsh Posté le 25-04-2007 à 13:33:32    

avec l'@ IP par exemple

Reply

Marsh Posté le 25-04-2007 à 15:10:17    

bluesboy a écrit :

avec l'@ IP par exemple


 
Ca peut être une solution en effet.  Dans ce cas existe-t-il sous Win 2000/2003 une variable d'environnement qui me permettrait d'identifier l'adresse IP du poste client ?

Reply

Marsh Posté le 25-04-2007 à 17:42:36    

en vbs c'est faisable

Reply

Marsh Posté le 25-04-2007 à 19:58:57    

ou si le contenu des 2 partages sont identiques entre les sites tu fais un DFS répliqué et tout sera automatique.

Reply

Marsh Posté le 26-04-2007 à 09:59:20    

Je@nb a écrit :

ou si le contenu des 2 partages sont identiques entre les sites tu fais un DFS répliqué et tout sera automatique.


Dfs est le bonne méthode. :jap:

 


edit : Je ne comprends pas ta question sur les pc portables. ils sont en ip fixe ? Dhcp ? Et pourquoi ne pas utiliser la variable longonserver ?


Message édité par Le Veilleur le 26-04-2007 à 10:00:40

---------------
Mon Blog : LeVeilleur.net | Hébergement d'images : Hostipics.net
Reply

Marsh Posté le 26-04-2007 à 13:05:38    

Pour les partages ils sont différents sur chaque site.
 
Je ne peux plus me servir de la variable "Logonserver" car je pense que je n'aurai pas de serveur Win 2003 secondaire sur le 2ème site.
 
Pour le moment nous utilisons des IP fixes (la valeur "yyy" du masque : www.xxx.yyy.zzz  change selon le site) mais à terme nous mettrons en place DHCP.
 
Je suis en train d'écrire un fichier batch qui récupère l'adresse IP du poste client, test la valeur "yyy" de l'IP et renvoi le résultat.
 
Je mettrai en ligne ce script dès qu'il sera fonctionnel, pour avoir votre avis.
 
Merci et A+

Reply

Marsh Posté le 26-04-2007 à 17:24:20    

Voilà le fichier batch est terminé   :)  
 
Pour identifier le site de connexion via l'adresse IP j'extrais de cette dernière cette partie en rouge : 192.1.12.10  par ex.
Le site 1 utilise la valeur 12  et  le site 2 utilise la valeur 24.  Le début "192.1." est le même pour les deux sites.
 
Donc voici le script correspondant :
 
@echo off
rem LogonScript multi-sites
 
rem on déclare la variable de reference qui contient l'adresse du site 1 :
set site1=12
 
rem on recupere l'adresse IP de la passerelle dans le resultat de la commande IPCONFIG executee sur le poste client :
for /f "tokens=2 delims=:" %%i in ('ipconfig') do set ip=%%i
 
echo %ip%
 
rem on extrait la chaine '12' ou '24' (24 correspond au site 2) de l'adresse ip :
set ip=%ip:~7,2%
 
echo %ip%
 
rem on test la variable ip :
IF "%ip%"=="%site1%" GOTO SITE1  
GOTO SITE2
 
 
:SITE1
echo Site 1  IP : %ip%
rem net use N: \\SERVEURSITE1\LOGICIELS
GOTO FIN
 
:SITE2
echo Site 2  IP : %ip%
rem net use M: \\SERVEURSITE2\COMMUN
GOTO FIN
 
:FIN
rem %LOGONSERVER%\NETLOGON\metier\metier-agent.bat
pause

 
 
Je l'ai testé ça fonctionne super bien !
 
Il est peut-être possible de l'améliorer encore, toutes les propositions sont les bienvenues
 
A+

Reply

Marsh Posté le 26-04-2007 à 17:24:20   

Reply

Marsh Posté le 26-04-2007 à 17:36:46    

Du batch lol, tu sais il existe des moyen plus simple comme VBS, Powershell :D

Reply

Marsh Posté le 26-04-2007 à 18:45:35    

Oui je sais mais vbs moi connais pas ...  si tu peux me proposer l'equivalent en vbs je suis preneur   :o

Reply

Marsh Posté le 26-04-2007 à 19:02:08    

Code :
  1. Set objADSysInfo = CreateObject("ADSystemInfo" )
  2. //WScript.Echo "Current site name: " & objADSysInfo.SiteName
  3. If objADSysInfo.SiteName = "Site1" Then
  4. strSrv = "serveursite1"
  5. Else
  6. strSrv = "serveursite2"
  7. End If
  8. strDrive = "\\"& strSrv & "\partage"
  9. Set objNetwork = CreateObject("Wscript.Network" )
  10. objNetwork.MapNetworkDrive "K:", strDrive
 

Je connais pas VBS non plus hein.
J'ai trouvé toutes les infos sur scriptcenter pour avoir les ip, google pour faire un share et la language ref pour faire un if


Message édité par Je@nb le 26-04-2007 à 19:02:21
Reply

Marsh Posté le 26-04-2007 à 21:39:22    

Que tu fasses du VBS ou du batch il est inutile de faire des tests afin de savoir si suivant ou se trouve la personne il faut faire l'action X ou Y.  
Active directory gère cela tres bien.
Tu crées une OU par site avec le script de connexion qui va bien pour chaque site.
Soit par GPO, soit à partir d'un compte profilé dans chaque OU (qui sera copié pour la création des comptes) tu peux faire cela très bien.
(là il va falloir faire un peu de lecture, le site laboratoire microsoft à de bon tutoriels - c'est les résumés des MOC Microsoft) sinon je ne vois pas l'interet d'avoir migré.
 
Si tu veux absolument faire du script, passe au VBS ou à Kixtart ...le batch est trop limité.

Message cité 1 fois
Message édité par akabis le 26-04-2007 à 21:42:47
Reply

Marsh Posté le 26-04-2007 à 22:19:09    

Ok merci pour vos réponses, je vais étudier tout cela !
 
une dernière question : est-ce que les scripts vbs offrent en général une bonne compatibilité avec les différentes versions de Windows ?  (je pense à NT4, 2000, 2003, XP)

Reply

Marsh Posté le 26-04-2007 à 22:27:54    

http://www.microsoft.com/technet/s [...] x?mfr=true
 
donc pas NT4 pour le site
 
pour le share j'ai pas trouvé si il y avait des incomptatibilités.

Reply

Marsh Posté le 26-04-2007 à 22:44:11    

C'est notamment pour cette raison de compatibilité que je me suis tourné vers la solution du script en batch ...  j'ai encore des bécanes au boulot qui tournent sous NT 4.0
 
Avec le batch je suis assuré que son execution ne posera aucun problème, quelle que soit la version de Windows.

Reply

Marsh Posté le 26-04-2007 à 22:45:25    

Faudrait penser à migrer hein, c'est plus supporté tu sais :d

Reply

Marsh Posté le 26-04-2007 à 23:42:43    

Je@nb a écrit :

Faudrait penser à migrer hein, c'est plus supporté tu sais :d


 
là où je bosse on a toujours un train de retard, on a du mal à suivre ...  on utilise toujours Office 97 c'est pour dire   :D  
 
M'enfin on va bientôt mettre en place Win 2003 et l'Active Directory, je croise les doigts pour que tout se passe bien  !
 
A+

Reply

Marsh Posté le 27-04-2007 à 15:09:45    

akabis a écrit :

Que tu fasses du VBS ou du batch il est inutile de faire des tests afin de savoir si suivant ou se trouve la personne il faut faire l'action X ou Y.  
Active directory gère cela tres bien.
Tu crées une OU par site avec le script de connexion qui va bien pour chaque site.
Soit par GPO, soit à partir d'un compte profilé dans chaque OU (qui sera copié pour la création des comptes) tu peux faire cela très bien.


 
Je me suis renseigné nous aurons une seule UO pour les deux sites, d'où l'obligation d'utiliser des scripts.

Reply

Marsh Posté le 27-04-2007 à 16:10:57    

Sinon il y a les GPO par site qui existent

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed