40 votes

Comment activer le partage de connexion Internet en utilisant la ligne de commande?

Je peux le faire manuellement en cliquant avec le bouton droit de la souris sur une connexion réseau, en ouvrant l'onglet Partage et en cochant la case "Autoriser d'autres utilisateurs du réseau à se connecter via la connexion Internet de cet ordinateur".

Maintenant, j'ai besoin d'automatiser cette tâche. Existe-t-il un outil en ligne de commande ou une cmdlet Powershell pour accomplir cela ?

1voto

user2562950 Points 11

Basé sur ce que j'ai lu, si ceux qui ont posté disent que netsh ne fonctionne pas à partir de Windows 7 et ultérieur, c'est incorrect. Maintenant, s'il s'agit strictement de "netsh routing", je suppose que vous pourriez avoir raison, mais cela fonctionne - je m'apprête à montrer le contenu d'un fichier batch que j'ai créé qui fonctionne sous Windows 8.1. Au lieu d'obtenir les commentaires habituels et les morceaux d'informations, je vais essayer d'aider ceux qui ont besoin d'une information complète.

Tout d'abord, assurez-vous que la connexion que vous allez partager est réglée pour partager effectivement la connexion. Ce lien ici devrait vous aider pour cela :

Configurer une connexion Internet partagée en utilisant ICS (Internet Connection Sharing) chez Windows Help.

  1. Ouvrez les Connexions Réseau en cliquant sur le bouton Démarrer, puis en cliquant sur Panneau de configuration. Dans la zone de recherche, tapez adaptateur, puis, sous Centre Réseau et Partage, cliquez sur Afficher les connexions réseau.

  2. Cliquez avec le bouton droit sur la connexion que vous souhaitez partager, puis cliquez sur Propriétés. Si vous êtes invité à saisir un mot de passe administrateur ou à confirmer, saisissez le mot de passe ou fournissez la confirmation.

  3. Cliquez sur l'onglet Partage, puis sélectionnez la case à cocher Autoriser les autres utilisateurs du réseau à se connecter via la connexion Internet de cet ordinateur.

Une fois que vous avez suivi les étapes ci-dessus pour configurer ICS sur l'ordinateur hôte, apportez les modifications suivantes sur tous les autres ordinateurs (mais pas sur l'ordinateur hôte).

  1. Ouvrez les Options Internet en cliquant sur le bouton Démarrer, puis en cliquant sur Panneau de configuration, puis sur Réseau et Internet, puis sur Options Internet.

  2. Cliquez sur l'onglet Connexions, puis cliquez sur Ne jamais établir de connexion.

  3. Cliquez sur Paramètres LAN.

  4. Dans la boîte de dialogue Paramètres du réseau local (LAN), Sous Configuration automatique, décochez les cases Détecter automatiquement les paramètres et Utiliser un script de configuration automatique.

  5. Sous Serveur mandataire, décochez la case Utiliser un serveur mandataire pour le LAN, puis cliquez sur OK.

Des instructions similaires sont également disponibles ici.

D'après ce que je sais, cela devrait fonctionner à la fois pour Windows 7 et 8.

Maintenant, puisque le sujet était une solution en ligne de commande, voici le contenu du fichier batch sur la manière dont je configure un adaptateur sans fil virtuel et le rends prêt à fonctionner.

Une fois créé, vous devrez peut-être utiliser les instructions ci-dessus et vous assurer que vous partagez la connexion source avec le nouvel adaptateur virtuel créé qui sera vu par vos appareils sans fil.

Fichier .bat de partage de connexion :

@echo off
set _my_datetime=%date%_%time%
set _my_datetime=%_my_datetime: =_%
set _my_datetime=%_my_datetime::=%
set _my_datetime=%_my_datetime:/=_%
set _my_datetime=%_my_datetime:.=_%

cd\
    if NOT EXIST "C:\TEMP\switch.txt" (
        GOTO :START
    ) ELSE (
        GOTO :STOP
    )

:START
REM Créer un fichier Temporaire pour l'interrupteur On et Off.
ECHO WOUHOU >"C:\TEMP\switch.txt"

REM -- Envoyer toutes les actions dans un fichier nommé wifi.txt.
REM -- Commencez par une horodatage en haut pour montrer quand cela a été fait.
REM -- Toutes les commandes 'netsh' servent à définir le SSID et à démarrer le partage.
REM -- Je m'arrête et redémarre lorsque je commence le service juste pour les bonnes  pour les générations futures.

echo _%_my_datetime% >"C:\TEMP\wifi.txt"
netsh wlan set hostednetwork mode=allow ssid=ITWORKS key=111222333 >>    "C:\TEMP\wifi.txt"
netsh wlan stop hostednetwork >>"C:\TEMP\wifi.txt"
netsh wlan start hostednetwork >>"C:\TEMP\wifi.txt"
echo MSGBOX "La connexion Wifi est démarrée!" > %temp%\TEMPmessage.vbs
call %temp%\TEMPmessage.vbs
del %temp%\TEMPmessage.vbs /f /q
GOTO :END

REM -- Cela éteindra ICS et donnera une invite via VBS que vous êtes désactivé.
REM -- Je chronomètre lorsque le service est éteint dans le fichier de sortie.
REM -- Je supprime le fichier d'interrupteur pour indiquer au code de l'activer quand
REM -- il est lancé à nouveau. Tempmessage est la msgbox utilisée pour montrer que le service
REM -- a été arrêté. De même pour la msgbox ci-dessus lorsqu'il est activé.

:STOP
echo ÉTEINT À _%_my_datetime% >>"C:\TEMP\wifi.txt"
netsh wlan stop hostednetwork >>"C:\TEMP\wifi.txt"
DEL /Q "C:\TEMP\switch.txt"
echo MSGBOX "La connexion Wifi est arrêtée!" > %temp%\TEMPmessage.vbs
call %temp%\TEMPmessage.vbs
del %temp%\TEMPmessage.vbs /f /q

:END

Je serai plus qu'heureux de répondre à des questions à ce sujet car il va y avoir des situations uniques et j'aimerais aider puisque j'ai dû reconstituer ce que j'ai trouvé ci-dessus.

Mais pour mettre les choses en perspective, cela fonctionne sous Windows 8.1 en utilisant une connexion Ethernet sur un ordinateur portable partageant sa connexion avec l'adaptateur virtuel nouvellement créé. Cela peut tout aussi bien fonctionner si vous essayez de partager une connexion sans fi.

1voto

loxia_01 Points 11

Voici un autre utilitaire en ligne de commande PowerShell sous forme de module PowerShell. Je l'ai écrit en partie en me basant sur le code de ce fil de discussion et je l'ai testé et utilisé sur une machine Windows 10. Il contient trois fonctions simples pour gérer l'ICS et fonctionne avec PowerShell version 3.0 et supérieure.

Installation :

Téléchargez le fichier de module PowerShell (.psm1) et copiez-le dans votre PSModulePath (généralement C:\Users\%USERNAME%\Documents\WindowsPowerShell\Modules\\. Nommez le exactement comme le fichier .psm1 (dans ce cas PSInternetConnectionSharing) et PowerShell trouvera automatiquement le module et ses fonctions. Toutes les fonctions doivent être exécutées en tant qu'administrateur.

Exemples d'utilisation :

Set-Ics Partage la connexion Internet d'une connexion réseau (appelée connexion publique) avec une autre connexion réseau (appelée connexion privée).

Set-Ics -PublicConnectionName Ethernet -PrivateConnectionName 'VM Host-Only Network'

Set-Ics Ethernet 'VM Host-Only Network'

Get-Ics liste l'état de l'ICS pour toutes les connexions réseau, ou facultativement pour les connexions spécifiées.

Obtenir l'état pour toutes les connexions réseau:

Get-Ics

Obtenir l'état pour les connexions réseau spécifiées:

Get-Ics -ConnectionNames Ethernet, Ethernet2, 'VM Host-Only Network'

Get-Ics Ethernet, Ethernet2, 'VM Host-Only Network'

Désactiver-Ics

Désactive l'ICS pour toutes les connexions réseau:

Disable-Ics

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X