Batch Index du Forum
S’enregistrerRechercherFAQMembresGroupesConnexion
Répondre au sujet Page 1 sur 1
[Résolu] Contrôle réseau - batch/powershell/vb
Auteur Message
Répondre en citant
Message [Résolu] Contrôle réseau - batch/powershell/vb 
Bonjour,

Je cherche à écrire un genre de petit logiciel qui permet de connecter / déconnecter les cartes réseaux aux heures programmées.

Ce que j'ai commencé :

en powershell un fichier nommé rez.ps1 :
Code:

###---###
$option = $args[0]


###--Récupération des cartes réseau--###
$ethernet = Get-WmiObject win32_NetworkAdapter | where {$_.DeviceID -eq7}


###--Activer/Désactiver les cartes--###
if ($option -eq "E")
{
    $ethernet.Enable()
}
ElseIf($option -eq "D")
{
    $ethernet.Disable()
}



en batch un fichier nommé rez.bat :
Code:

at 18:00 powershell c:\rez.ps1 D
at 07:00 powershell c:\rez.ps1 E



Ceci fonctionne, mon soucis c'est de pouvoir lancer les tâches au démarrage si le pc était éteint à l'heure prévue pour les tâches.
Et d'ajouter une possibilité de choisir les jours de la semaine.

Un autre soucis est de créer une fenêtre Windows de base avec la possibilité de choisir les jours/heures, protégée par un mot de passe.


Merci pour la lecture et peut être le coup de pouce Smile



Dernière édition par cadorinfo le Mar 24 Mai 2011 - 16:33; édité 1 fois
Message Publicité 
PublicitéSupprimer les publicités ?


Répondre en citant
Message [Résolu] Contrôle réseau - batch/powershell/vb 
Bonjour
je n'ai pas compris ta problèmatique.
Si ton PC est éteint, il est logique que tu ne pourras pas lancer ton batch.

Sinon il faut que tu possèdes la fonction wake on lan pour réveiller ton pc via un autre pc sur un réseau, pour executer ton batch.

Pour lancer ton batch au démarrage du pc, tout dépend de ta version de windows, il faudrait le mettre à l'ouverture de session.

Ou dans la clé la section démarrage du pc, (clé HKLM/..../Run)




______________________________________________________
Faites paraitre votre batch sur BatchClipboard
Visiter le site web du posteur
Répondre en citant
Message [Résolu] Contrôle réseau - batch/powershell/vb 
J'ai dû mal m'exprimer,

Je voudrais qu'on ne lance le batch qu'une fois et que les tâches se répètent chaque jour et soient lancées en décalage si l'a machine était éteinte lors de l'heure prévue pour ces tâches.
Mon fichier batch étant à refaire entièrement je pense.



Répondre en citant
Message [Résolu] Contrôle réseau - batch/powershell/vb 
Est ce possible d'ajouter une sorte de boucle qui ferait en sorte que, dans l'intervalle où la carte soit déconnectée/connectée, la tâche s'accomplisse chaque minute? Ceci pourrait régler le soucis du pc éteint.
Et est il possible de commander la tâche pour qu'elle s'exécute certains jours en particulier?
J'ai un peu de mal avec la syntaxe batch.



Répondre en citant
Message [Résolu] Contrôle réseau - batch/powershell/vb 
Une autre idée :

Serait il possible de faire quelque chose comme ça :
Code:
Si [Heure actuelle] est comprise entre 07:00 et 18:00
Alors 'Lancer la commande1'
Sinon 'Lancer la commande2'


Si oui, comment :p ?

merci



Répondre en citant
Message [Résolu] Contrôle réseau - batch/powershell/vb 
Bonjour
il faut que tu crée une tache planifiée qui lancera ton batch tous les jours à tels heures.
Ensuite faudrait définir exactement tes besoins rééls car là tu vas d'une idée à l'autre.




______________________________________________________
Faites paraitre votre batch sur BatchClipboard
Visiter le site web du posteur
Répondre en citant
Message [Résolu] Contrôle réseau - batch/powershell/vb 
Je vais d"une idée à l'autre car je ne trouve pas de réponses à mes questions un peu partout sur le net.
Ma logique de prog est à revoir donc mes questions ne sont pas forcement les bonnes.


Mon besoin réel : Internet doit être inaccessible de 19h00 à 8h00 le lendemain sauf le vendredi / samedi et accessible le reste du temps.
La méthode importe peu à partir du moment où on ne s'occupe pas du routeur et que le code est fait main afin d'être facilement incorporé dans un plus gros programme par la suite éventuellement.

Peu importe le langage d'ailleurs.



Répondre en citant
Message [Résolu] Contrôle réseau - batch/powershell/vb 
J'ai finalement réussi avec plusieurs fichiers

Un fichier au démarrage : startup.bat
Code:
powershell ./startup-eth-ctrl.ps1


startup-eth-ctrl.ps1
Code:
###---------Déclarations---------###

$time = Get-Date -f "HH:mm"
$option = $args[0]
$ethernet = Get-WmiObject win32_NetworkAdapter | where {$_.DeviceID -eq7}


###---------Script d'activation/désactivation de la carte réseau au boot---------###

IF ($time -gt "08:00" -and $time -lt "20:00")
{
    E:\eth-enable.bat
}
Else
{
    E:\eth-disable.bat
}




###---------Option : Activer/Désactiver les cartes---------###
if ($option -eq "E")
{
    $ethernet.Enable()
}
Elseif ($option -eq "D")
{
    $ethernet.Disable()
}




###---------Lancement du script de programmation de tache---------##

E:\eth-ctrl.bat



eth-ctrl.bat
Code:
@REM ###---------Script de programmation de tache---------##

@REM #fermeture d'acces internet
@ECHO Fermeture acces internet
AT 20:00 /EVERY:l,ma,me,j,d powershell e:\eth-ctrl.ps1 D

@REM #ouverture d'acces internet
@ECHO Ouverture acces internet
AT 08:00 /EVERY:l,ma,me,j,v,s powershell e:\eth-ctrl.ps1 E



eth-ctrl.ps1
Code:
###---###
$option = $args[0]


###--Récupération des cartes réseau--###
$ethernet = Get-WmiObject win32_NetworkAdapter | where {$_.DeviceID -eq7}


###--Activer/Désactiver les cartes--###
if ($option -eq "E")
{
    $ethernet.Enable()
}
ElseIf($option -eq "D")
{
    $ethernet.Disable()
}



eth-disable.bat
Code:
powershell E:\eth-ctrl.ps1 D


eth-enable.bat
Code:
powershell E:\eth-ctrl.ps1 E


C'est pas très propre mais ça fonctionne très bien.
L'utilisateur doit être en mode limité pour ne pas pouvoir réactiver la carte réseau.



Message [Résolu] Contrôle réseau - batch/powershell/vb 


Montrer les messages depuis:
Répondre au sujet Page 1 sur 1
  



Index | créer un forum | Forum gratuit d’entraide | Annuaire des forums gratuits | Signaler une violation | Conditions générales d'utilisation
Copyright 2008 - 2016 // Batch