Communauté Informatique NDFR.net

Communauté Informatique NDFR.net (http://www.ndfr.net/forums/index.php)
-   Windows NT4/2000/XP Client (http://www.ndfr.net/forums/forumdisplay.php?f=51)
-   -   netsh vs nt4 (http://www.ndfr.net/forums/showthread.php?t=6384)

chris0211 28-06-2005 10:02

netsh vs nt4
 
bonjour

je suis en starge pratique et j ai un gros probleme
voila je doit attribuer une adresse ip a plus de 3000 machine
en utilisant un scripte et la commande netsh(netshell)
les machine doive garde les ip quel sont dejas mais mon
probleme c est que 1000 poste sont sous nt
et la commade netsh ne marche pas avec nt........

svp aide moi il fais froid dans l'espace

childerik 28-06-2005 14:22

Tu dois manipuler la console netsh à partir de quelle version du contrôleur de domaine ? (NT4 server, 2000 server, 2003 server, Unix ??????????)

Fred 29-06-2005 00:00

Et pourquoi pas un bon vieux DHCP commandé suivant les adresses MAC (et une petite relecture avant de cliquer sur "Poster") ?

chalans 06-07-2005 10:55

Netsh ne fonctionne pas sous nt4 en effet :(

La solution dhcp en fonction des addresse mac sur 1000 postes .... ca fait chaud ;)


Sinon essaye de le faire en wmi ( faut installer en script wmi pour nt4 ) pour changer les addresse ip à distance de tes machines nt4 .

Sinon en vbs classique en tapant dans le registre

chris0211 07-07-2005 11:37

je pipige pas..
 
j ai touver un script qui n est pas mal
mais il ne marche pas.le voila :
'Changes Windows NT clients from using static IP address's to use DHCP. Could be called from the logon script. Combined with the use of the SU utility this could be added to a logon script to perform a hands off migration.
'All variables declared
Option Explicit
Dim oWSHShell
Dim sNIC, sMan
Dim iCount
Set oWSHShell = WScript.CreateObject("WScript.Shell")
' Set the DCHP service to autostart
oWSHShell.RegWrite "HKLM\SYSTEM\CurrentControlSet\Services\DHCP\Start", 2
' Get Network card
On Error Resume Next
iCount = 1
Do
sNIC = oWSHShell.RegRead("HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkCards\" & iCount & "\ServiceName")
sMan = oWSHShell.RegRead("HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkCards\" & iCount & "\Manufacturer")
' Skip the Async and NDIS services
If sMan <> "Microsoft" And Err.Number = 0 Then
Call SetNIC
End If
iCount = iCount + 1
Loop Until Err.Number <> 0
' Clear the error
Err.Clear
' End of Script

Sub SetNIC
Dim iTest
' Set the NIC service to use DHCP
sNIC = "HKLM\SYSTEM\CurrentControlSet\Services\" & sNIC &"\Parameters\TCPIP\"
iTest = oWSHShell.RegRead(sNIC & "EnableDHCP")
If iTest = 0 Then
oWSHShell.RegWrite sNIC & "EnableDHCP", 1, "REG_DWORD"
oWSHShell.RegWrite sNIC & "IPAddress", "0.0.0.0", "REG_MULTI_SZ"
oWSHShell.RegWrite sNIC & "SubnetMask", "0.0.0.0", "REG_MULTI_SZ"
End If
End Sub

en faite la clé dhcp start passe bien a 2 mais rien ne se passe
si vous avez une idee....

merci

Fred 07-07-2005 11:42

Ca veut dire quoi "rien ne se passe" ? Normalement il a dû t'activer le DHCP sur toutes tes cartes réseau, c'est tout ce que ce script est censé faire ...
Ton véritable but, c'est d'assigner des IPs fixes à tous tes postes ?

fonji 07-07-2005 13:51

Tain la complexité du script quoi... la commande netsh c'est trop simple ?

EDIT : putain lire tous les posts, lire tous les posts, lire tous les posts avant de dire un grosse connerie...
J'suis bien loin... --->[]

chris0211 07-07-2005 13:58

lut


je doit metre de l'ip dynamique sur les poste nt4
les mac sont deja reserver
mais je suis larger......:bandit:
ce script cert bian a merte le clent en dhcp dynamique
et a lui enlever la configuration qu il possede???

MERCI

chris0211 07-07-2005 14:02

RE LUT

je boss sur machine virtuel et quand je lance le script sur une machine
nt4.rien ne sa passe la machine reste en statique mais la cle :
HKLM\SYSTEM\CurrentControlSet\Services\DHCP\Start", 2
passe bien a deux....c est a dire se met en dynamique
mais la becane reste en statique avec configuration reseau habituel

merci:chinese:

Fred 07-07-2005 23:15

Le fait d'activer le service DHCP ne signifie pas que la machine est configurée en DHCP, simplement qu'elle a la possibilité de le faire ... encore faut-il activer le DHCP sur les interfaces existantes, c'est ce qu'est censée faire la boucle while via la procédure SetNIC.

Pour comprendre ce script lis la clé suivante du registre sous NT4 :
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkCards\

Normalement il doit y avoir des nombres qui sont les indices des interfaces, en quelque sorte leur identifiant. Voici la partie du script avec les commentaires (les commentaires commencent avec un ') :
Quote:

' Obtention de la carte réseau
' On quitte la boucle si on n'arrive pas à lire une clé
On Error Resume Next
' La première interface est numérotée 1
iCount = 1
' Début de boucle
Do
' On obtient le véritable identifiant de la carte réseau (pour SetNIC)
sNIC = oWSHShell.RegRead("HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkCards\" & iCount & "\ServiceName")
' On obtient le nom du fabricant (pour éviter les interfaces factices Microsoft)
sMan = oWSHShell.RegRead("HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkCards\" & iCount & "\Manufacturer")
' On ne modifie l'interface que si elle est "réelle"
If sMan <> "Microsoft" And Err.Number = 0 Then
Call SetNIC
End If
' On passe à la carte suivante
iCount = iCount + 1
' Si on a eu une erreur, on quitte la boucle
Loop Until Err.Number <> 0
' On efface l'erreur
Err.Clear
' Fin du script
Quote:

' Procédure d'activation DHCP sur une interface
Sub SetNIC
Dim iTest
' On active le DHCP en créant la clé "EnableDHCP" et en mettant les autres paramètres par défaut
sNIC = "HKLM\SYSTEM\CurrentControlSet\Services\" & sNIC &"\Parameters\TCPIP\"
iTest = oWSHShell.RegRead(sNIC & "EnableDHCP")
' Si le DHCP n'est pas activé, on l'active et ...
If iTest = 0 Then
oWSHShell.RegWrite sNIC & "EnableDHCP", 1, "REG_DWORD"
oWSHShell.RegWrite sNIC & "IPAddress", "0.0.0.0", "REG_MULTI_SZ"
oWSHShell.RegWrite sNIC & "SubnetMask", "0.0.0.0", "REG_MULTI_SZ"
End If
End Sub
Juste un problème : chez moi aucune carte n'a de clé "Manufacturer" (je suis sous XP) mais ça ne devrait pas poser de problème. Par contre, j'ai des cartes de numéro 2 et 12, le script ne les prendra pas en compte ... je serais plutôt pour un for avec un nombre d'itération grand (genre 100) et un test d'existence des clés.

Par contre, tu peux tester toi même, l'activation du DHCP passe par la modification de ces clés :
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\IDCARTE\Parameters\Tcpip
Avec IDCARTE l'identifiant de ta carte réseau. A toi de pondre un script avec ça ;)

chris0211 08-07-2005 09:29

yo sa vas etre dur

mais merci c est vraimant cool

merci


All times are GMT +2. The time now is 16:04.

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.