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

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

  script adressage

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

script adressage

n°162690
GEEK82500
no lose, win or learn
Posté le 26-04-2019 à 10:33:48  profilanswer
 

Bonjour
Pour le contexte : je suis un prof qu'on a improvisé gestionnaire réseau (Lycée pro : 300 postes) donc je ne suis pas un vrai professionnel de l'informatique mais en tout cas je me donne du mal pour pas faire n'importe quoi.
Actuellement j'utilise WDS avec des fichiers réponses qui automatisent tout le processus jusqu'au nommage, intégration au domaine et autologon en administrateur de stations. En fait après déploiement il ne me reste que l'adressage à faire et je voudrais optimiser cette opération avec un script.
Pour cela j'envisage d'utiliser le script ci-dessous, mais par contre j'aurais souhaité qu'au lancement du script :
1. le nom de la machine s'affiche (pour pouvoir faire l'adressage justement)
2. la commande "ncpa.cpl" se lance pour que je vérifie que le paramètre "Nomconnexion" est bon (sauf si on est absolument certain que le nom de connexion est toujours "Ethernet", ce dont je ne suis pas sûr...)
3. le script me demande l'adresse car je ne vais pas modifier le script à chaque machine en l'état actuel imposé sur "10.1.30.1"
3. que le script désactive automatiquement "IPV6" et "planificateur de paquets" sur cette connexion.
 
Merci d'avance pour vos conseils
 
 
@echo off
echo Mise a jour de la configuration TCP/IP du PC. Patientez...
 
SET NomConnexion=Ethernet
SET IP=10.1.30.1
SET Masque=255.0.0.0
SET Passerelle=10.255.6.190
 
netsh interface IP set address "%NomConnexion%" static %IP% %Masque% %Passerelle% 1
 
SET DNS=10.255.6.189
netsh interface IP set DNS "%NomConnexion%" static %DNS% primary
 
echo Mise a jour de la configuration reussie !

mood
Publicité
Posté le 26-04-2019 à 10:33:48  profilanswer
 

n°162692
ShonGail
En phase de calmitude ...
Posté le 26-04-2019 à 10:44:58  profilanswer
 

La variable %COMPUTERNAME% te donne le nom du PC.
Tu as aussi la commande "hostname".
 
Pour vérifier le nom donné à l'interface, tu as "ipconfig".
Sinon tu lances simplement "ncpa.cpl" et la fenêtre s'ouvre.
 
Pour entrer une valeur dans une variable, tu as "set /p variable="
 
Pour l'IPV6 et le reste, via netsh surement. faut regarder.

n°162694
GEEK82500
no lose, win or learn
Posté le 26-04-2019 à 10:50:55  profilanswer
 

merci beaucoup, mais comment dire...
Je suis vraiment un tout petit padawan et même si j'abuse un peu, est-ce que tu n'aurais pas des choses un tout petit peu plus précises :
Pour ncpa.cpl ok je peux le faire manuellement par contre, si possible, j'aurais souhaité que dans un premier temps le nom de la machine s'affiche et ensuite que ça me demande l'adresse. Si ça saoule d'avoir des amateurs dans la section pro au pire les modérateurs peuvent supprimer mon topic, je comprendrai... merci en tout cas

n°162696
ShonGail
En phase de calmitude ...
Posté le 26-04-2019 à 10:57:56  profilanswer
 

J'imagine que c'est un script récupéré alors.
Car c'est pas le moins complexe du script que d'introduire ce que tu demandes.
 
Au début de ton script, tu insères la commande "hostname" ou un "echo Nom du PC : %computername%".
 
Pour l'IP :
echo tapez l'IP à donner au PC :
Set /P IP=

n°162697
GEEK82500
no lose, win or learn
Posté le 26-04-2019 à 11:03:06  profilanswer
 

Tu as tout compris, je débute vraiment... depuis 45 minutes environ... je fais des tests et je vois...

n°162698
Je@nb
Modérateur
Kindly give dime
Posté le 26-04-2019 à 11:06:16  profilanswer
 

Utilise DHCP et ne désactive pas IPv6 ni le planificateur de paquet

n°162699
GEEK82500
no lose, win or learn
Posté le 26-04-2019 à 11:13:21  profilanswer
 

Ok on avance  
Par contre j'aurais bien aimé avoir une pause à la fin où s'affiche justement la phrase "Mise a jour de la configuration reussie !" présente dans le script  
Je@nb : à l'heure actuelle je suis les instructions des institutions et on me demande justement de ne passer utiliser le DHCP et de désactiver IPv6 et planificateur de paquet, et comme je ne suis pas en mesure de savoir pourquoi et comment alors je m'exécute...
 
 
@echo off
echo Mise a jour de la configuration TCP/IP du PC. Patientez...
 
echo Nom du PC : %computername%
 
SET NomConnexion=Ethernet
echo tapez l'IP à donner au PC :  
Set /P IP=
SET Masque=255.0.0.0
SET Passerelle=10.255.6.190
 
netsh interface IP set address "%NomConnexion%" static %IP% %Masque% %Passerelle% 1
 
SET DNS=10.255.6.189
netsh interface IP set DNS "%NomConnexion%" static %DNS% primary
 
echo Mise a jour de la configuration reussie !

n°162703
skoizer
tripoux et tête de veau
Posté le 26-04-2019 à 11:45:08  profilanswer
 

pause


---------------
je veux tout, tout de suite, et gratuitement ! miladiou !
n°162704
GEEK82500
no lose, win or learn
Posté le 26-04-2019 à 12:01:44  profilanswer
 

yes ça marche j'ai aussi ajouter Set /P NomConnexion pour renseigner ce paramètre moi-même
 
Il ne reste plus que IPV6 et planificateur de paquets

n°162706
fred34
Posté le 26-04-2019 à 13:18:54  profilanswer
 

GEEK82500 a écrit :

on me demande justement de ne passer utiliser le DHCP


 
C'est assez surprenant dans la mesure où le DHCP est justement fait pour ça (surtout avec 300 postes).Si c'est pour être sur d'attribuer telle IP à tel poste, les réservations côté DHCP règle le problème.
Avec un tel script, tu n'es pas à l'abri d'une fausse manip avec attribution en double des IP. Et quid en cas de déconfiguration de L'IP (accidentelle ou non) ? Le poste sera inutilisable jusqu'à ce que tu relances le script ?


---------------
http://leblogdundsi.lesprost.fr/
mood
Publicité
Posté le 26-04-2019 à 13:18:54  profilanswer
 

n°162707
skoizer
tripoux et tête de veau
Posté le 26-04-2019 à 13:36:46  profilanswer
 

ne jamais desactivé l'ipv6, il y a d'autre méthode
 
https://support.microsoft.com/fr-fr/help/929852/
 
plutot ipv4 prioritaire sur ipv6, tu peux le faire en modifiant le registre
 
planification de paquet ?


Message édité par skoizer le 26-04-2019 à 13:38:33

---------------
je veux tout, tout de suite, et gratuitement ! miladiou !
n°162710
GEEK82500
no lose, win or learn
Posté le 26-04-2019 à 14:49:37  profilanswer
 

Encore une fois j'exécute ce qu'on me demande de faire et  à connaissance c'est comme ça que fonctionnent tous les établissements de l'académie... (c'est peut-être une abération je ne sais pas)
En tout cas au vue de mes connaissances/compétences, je ne suis pas en mesure d'argumenter. Au niveau des conflits d'adresse IP, ça arrive mais je les détecte assez facilement avec les outils installés sur le contrôleur de domaine qui nous sont fournis. Au sujet du DHCP j'ai une plage d'adresse que j'utilise pour les déploiements avec WDS et pour quelques exceptions. Voilà tout ce que je peux dire.
Pour revenir au sujet de départ, voici mon script (il me manque toujours désactiver IPv6 et planificateur de paquets QoS) :
 
@echo off
echo Configuration TCP/IP du PC.
 
ncpa.cpl
 
echo Nom du PC : %computername%
 
echo tapez le nom de la connexion
SET /P NomConnexion=
echo tapez l'IP:  
Set /P IP=
SET Masque=255.0.0.0
SET Passerelle=10.255.6.190
 
netsh interface IP set address "%NomConnexion%" static %IP% %Masque% %Passerelle% 1
 
SET DNS=10.255.6.189
netsh interface IP set DNS "%NomConnexion%" static %DNS% primary
 
echo Configuration reussie !
Pause

n°162711
ShonGail
En phase de calmitude ...
Posté le 26-04-2019 à 14:54:44  profilanswer
 

Tu dois pouvoir demander au service info de l'académie les raisons de :
 
- l'utilisation d'IP fixes plutôt que du DHCP
- la désactivation de l'IPV6
- celle du planificateur de paquet

n°162712
GEEK82500
no lose, win or learn
Posté le 26-04-2019 à 15:02:38  profilanswer
 

oui je peux demander ça c'est sûr, je me garde ça sous le coude pour la prochaine fois où je croise quelqu'un du rectorat...
et merci beaucoup au fait


Message édité par GEEK82500 le 26-04-2019 à 15:03:00
n°162721
GEEK82500
no lose, win or learn
Posté le 27-04-2019 à 10:13:09  profilanswer
 

bon j'y suis presque!!!!
J'ai finalement créé un script principal (voir ci-dessous) qui en lance 3 secondaires
1 pour l'adressage IP
1 pour le DNS
1 pour lancer un script powershell en administrateur qui désactive ipv6 et planificateur de paquet QoS
 
Je ne sais pas si c'est la bonne façon de procéder mais ça marche bien!!!
Par contre j'ai un dernier petit soucis avec le premier des trois scripts secondaires, celui pour l’IP  (voir tout en bas du message) : en fait il fonctionne mais il me renvoie un message d'erreur donc je suis obligé de fermer la fenêtre manuellement alors que normalement la commande exit devrait le faire automatiquement.
le message d'erreur c'est : "impossible d'accéder au périphérique ou au fichier spécifié..."
Merci d’avance
 
Script principal
@echo off
echo Nom du PC : %computername%
start \\SERVEUR01\ADMINSTA\Environnement\Bureau\Adressage\IP.bat - Raccourci
pause
start \\SERVEUR01\ADMINSTA\Environnement\Bureau\Adressage\DNS.bat
echo adressage et DNS ok
pause
start \\SERVEUR01\ADMINSTA\Environnement\Bureau\Adressage\lancer_ps1.bat
echo desactivation IPv6 et planificateur paquets QoS ok
pause
ipconfig/all
pause
 
 
Script IP
 
@echo off
echo Nom du PC : %computername%
echo tapez l'IP fixe du poste :
Set /P IP=
netsh interface ipv4 set address "Ethernet" static %IP% 255.0.0.0 10.255.6.190 1
exit

n°162722
Je@nb
Modérateur
Kindly give dime
Posté le 27-04-2019 à 10:23:03  profilanswer
 

De pire en pire  :non:

n°162723
GEEK82500
no lose, win or learn
Posté le 27-04-2019 à 10:27:35  profilanswer
 

mamamia je fais n'importe quoi, c'est ça??

n°162724
unarcher
Posté le 27-04-2019 à 11:14:25  profilanswer
 

C'est vrai que desactiver le DHCP, c'est curieux.
Ca sert justement a ne pas perdre un temps monstrueux a gérer des IP fixes ;)

n°162725
Je@nb
Modérateur
Kindly give dime
Posté le 27-04-2019 à 11:17:35  profilanswer
 

GEEK82500 a écrit :

mamamia je fais n'importe quoi, c'est ça??


ya aucun intérêt à séparer en plusieurs script
fait en un seul, en PowerShell si possible mais juste pas ce que tu es entrain de faire :/
mais je répète ce que je disais depuis le début, ne fait rien ce sera encore mieux

n°162726
GEEK82500
no lose, win or learn
Posté le 27-04-2019 à 11:24:55  profilanswer
 

ok merci pour vos réponses, je vais essayer de tout faire avec un seul script (powershell si possible)
mais encore une fois j'exécute les ordres, donc sur l'adressage fixe je ne peux pas faire autrement, étant débutant je dépends de personnes qui m'aident dans la mesure où je fais ce qu'elles me demandent de faire donc... c'est comme ça

n°162730
GEEK82500
no lose, win or learn
Posté le 27-04-2019 à 12:51:08  profilanswer
 

j'oubliais un truc
j'ai séparé le script en plusieurs car il calait après "netsh interface ipv4 set adress" et d'ailleurs quand je les sépare je retrouve le message d'erreur (voir message précédent)...

n°162746
GEEK82500
no lose, win or learn
Posté le 27-04-2019 à 21:34:07  profilanswer
 

J'ai écouté vos conseils et j'ai tout mis dans un script powershell... et ça marche   :)
 
$env:COMPUTERNAME
Write-host "Nom du poste : $env:COMPUTERNAME"
$ip = read-host "Adresse ip de la machine"
Get-Netadapter
Get-NetAdapter | fl Name,InterfaceAlias, InterfaceIndex, LinkSpeed
Sleep 3
New-NetIPAddress -InterfaceAlias Ethernet -IPAddress $ip   -PrefixLength 8 -DefaultGateway 10.255.6.190 -AddressFamily IPv4
Sleep 3
Set-DnsClientServerAddress -InterfaceAlias Ethernet -ServerAddresses 10.255.6.189
Sleep 3
Disable-NetAdapterBinding -Name Ethernet -ComponentID ms_tcpip6
Disable-NetAdapterBinding -Name Ethernet -ComponentID ms_pacer

n°162773
GEEK82500
no lose, win or learn
Posté le 29-04-2019 à 08:07:26  profilanswer
 

Je ne sais pas  si je dois créer un nouveau sujet mais j'aurais souhaité compléter ce script avec un renommage de la carte réseau de "Ethernet0" vers "Ethernet".
en soit assez simple j'ai trouvé cette ligne qui fonctionne bien :
 
Rename-NetAdapter -Name "Ethernet0" -NewName "Ethernet"
 
Par contre le truc c'est que je voudrais qu'il y ait des conditions avec 3 options :
si carte réseau qui s'appelle Ethernet alors on passe directement au reste du script
si carte réseau qui s'appelle Ethernet0 alors renommage puis reste du script
si aucun des deux alors message d'erreur et arrêt du script
 
Merci d'avance

n°162805
matsu92
Be Water My Friend
Posté le 30-04-2019 à 07:30:45  profilanswer
 
n°162810
GEEK82500
no lose, win or learn
Posté le 30-04-2019 à 08:42:40  profilanswer
 

Merci pour la réponse. au final j'ai trouvé j'ai fait une boite de dialogue qui me demande si il y a ou non une carte réseau nommé ethernet (après avoir afficher la liste des "NetAdapter".
ensuite avec les conditions if et else 2 options : si c'est oui alors le script s'exécute si c'est non alors il s'affiche une instruction demande de renommer la carte (j'ajoute une pause + ncpa.cpl pour que la fenetre des connexions réseau s'ouvre toute seule suite à l'instruction. En gros ça donne :
 
write-host LISTE DES CARTES RESEAUX
Get-NetAdapter | fl Name
$YES=6; $NO=7
$shell=new-object -com wscript.shell
$ret=$shell.popup("La liste comporte une carte réseau nommée 'Ethernet'", 0, "Traitement", 4+32)
$ret -eq $YES
if ($ret -eq $YES) {"RESTE DU SCRIPT"
} else {read-host " tapez sur la touche entrée puis renommez la carte réseau pour l'appeller 'Ethernet'..."
ncpa.cpl
Pause
"RESTE DU SCRIPT"
}
 
Alors en effet on peut faire mieux au niveau automatisation mais pour l'instant je fais seulement des tests sur une VM. Après si je me rends comptes que sur des déploiements de machines physiques, à chaque fois la carte réseau s'appelle Ethernet, alors je passerai directement au script ou si c'est à chaque fois "Ethernet0" (comme sur mon master) alors je mettrai un paramètre genre    Get-NetAdapter -Name Ethernet0 | Rename-NetAdapter -NewName Ethernet
 
à voir à l'usage


Message édité par GEEK82500 le 30-04-2019 à 08:43:31
n°162812
GEEK82500
no lose, win or learn
Posté le 30-04-2019 à 08:58:14  profilanswer
 

par contre un truc quand même, je trouve facilement sur les forums "tester la présence d'un fichier" mais je ne trouve pas tester la présence d'une connexion réseau avec son nom"

n°162814
Je@nb
Modérateur
Kindly give dime
Posté le 30-04-2019 à 09:01:30  profilanswer
 

Bah get-netadapter avec son nom et si tu as une erreur c'est qu'elle existe pas

n°162815
GEEK82500
no lose, win or learn
Posté le 30-04-2019 à 09:09:19  profilanswer
 

ok mais est-ce que ça peut faire l'objet d'une automatisation
genre "if get-net adapter yes then...   else..." sans pour autant afficher une erreur

n°162818
logre
Posté le 30-04-2019 à 10:35:21  profilanswer
 

Oui tu peux, j'ai plus la syntaxe en tête mais c'est exactement ça
 
if get-net adapter == "ethernet"  
then
bla bla bla
else  
bla bla bla
 
ca n'affiche pas d'erreur, soit le if renvoie un "true"  tu rentre dans le then ou c'est wrong et tu entres dans le else

n°162824
Je@nb
Modérateur
Kindly give dime
Posté le 30-04-2019 à 13:58:35  profilanswer
 

Je préfère ce genre de script perso :o
 

Code :
  1. $defaultGw = "10.255.6.190"
  2. $prefixLength = 8
  3. $dnsServers = @('10.255.6.189')
  4. $disabledBindings = @('ms_tcpip6', 'ms_pacer')
  5. Write-host "Nom du poste : $env:COMPUTERNAME"
  6. $ip = read-host "Adresse ip de la machine"
  7. $adapters = @(Get-Netadapter -Name Ethernet*)
  8. Write-Verbose "Number of interfaces detected: $($adapters.Count)"
  9. $adapter = switch ($adapters.Count) {
  10.     0 { throw "No adapters present" }
  11.     1 { $adapters[0] }
  12.     Default { $adapters | select-object Name, InterfaceDescription, LinkSpeed, MacAddress | Sort-Object Name | Out-GridView -PassThru }
  13. }
  14. Write-Verbose "Chosen Interface: $($adapter.Name), will set IP to $($ip)/$($prefixLength) with default gw $($defaultGw)"
  15. New-NetIPAddress -InterfaceAlias $adapter.Name -IPAddress $ip -PrefixLength $prefixLength -DefaultGateway $defaultGw -AddressFamily IPv4
  16. Write-Verbose "Will set DNS servers to $($dnsServers -join "," )"
  17. Set-DnsClientServerAddress -InterfaceAlias $adapter.Name -ServerAddresses $dnsServers
  18. foreach ($binding in $disabledBindings) {
  19.     Write-Verbose "Disabling $($binding)"
  20.     Disable-NetAdapterBinding -Name $adapter.Name -ComponentID $binding
  21. }

n°162828
GEEK82500
no lose, win or learn
Posté le 30-04-2019 à 16:35:21  profilanswer
 

Salut
ça marche nickel!!!
Juste pour voir si j'ai bien compris : la ligne 15 permet, au cas où il n'y aurait pas de NetAdapter avec Name Eternet* (par exemple comme on le voit souvent la connexion s'appelle "connexion au réseau local" ) de choisir manuellement le NetAdapter sur lequel appliquer le script, c'est ça?

n°162831
Je@nb
Modérateur
Kindly give dime
Posté le 30-04-2019 à 17:16:31  profilanswer
 

non, c'est au cas où il y ait plusieurs :D

n°162838
GEEK82500
no lose, win or learn
Posté le 30-04-2019 à 17:51:01  profilanswer
 

désolé de me montrer "exigeant" mais comment ça réagit si j'ai que des connexions du type "connexion au réseau local"? (est-ce que ça peut arriver déjà, après un déploiement alors que sur le master la connexion s’appelait "Ethernet"?)
 
au passage j'ai remplacé la ligne 7 par :
$nbst = read-host "numéro du poste"
$ip = "10.3.6.$nbst"
 
comme ça je n'ai plus qu'à changer le début de l'adresse dans le script ("10.3.6" dans ce cas) avant le déploiement d'une salle puis je rentre seulement le numéro du poste (de la bonne feignantise quoi...)

n°162840
Je@nb
Modérateur
Kindly give dime
Posté le 30-04-2019 à 19:01:08  profilanswer
 

ça marche pas si ça s'appelle comme ça. Mais bon depuis je sais plus quelle version de windows ça s'appelle ethernet

n°162845
GEEK82500
no lose, win or learn
Posté le 30-04-2019 à 20:04:07  profilanswer
 

ok parfait il me reste à dire merci alors...
 
merci merci merci!!

mood
Publicité
Posté le   profilanswer
 


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

  script adressage

 

Sujets relatifs
Script pour désactiver IP + Applications par defautScript pour installer Outlook via SCCM
Adressage d'un réseau privé non conforme. A changer?Script windows 10
Problème script Powershell pour ADProblème d'adressage ip sur PC WIN 7
Changement adressage infra VMWarePowershell Script enregistrement SQL
Conseils plan d'adressage & Vlanouverture de script au démarrage aléatoire
Plus de sujets relatifs à : script adressage


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