IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Scripts/Batch Discussion :

script non lancé via logiciel, ok en manuel [PowerShell]


Sujet :

Scripts/Batch

  1. #1
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2007
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2007
    Messages : 93
    Points : 70
    Points
    70
    Par défaut script non lancé via logiciel, ok en manuel
    Bonjour à tous,
    J'ai un script batch.bat qui fait appel à un script powershell.ps1 pour lancer certaines commandes.
    Ce script doit éteindre un serveur ESXi sur appel d'un onduleur.

    Voici le batch.bat :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    @echo off
    start %comspec% /c "mode 40,10&title My Popup&color 1e&echo.&echo. Today is %date%&echo.&echo. Press a key!&pause>NUL"
    
    powershell .\powershell.ps1
    La premiere partie m'affiche une petite fenetre avec l'heure (cela me permet de m'assurer que le script est lancé)

    Voici le powershell.ps1 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    mkdir ./debut
    Add-PSSnapin VMware.VimAutomation.Core
    
    $server = "ip.add.re.ss"
    $username = "rootname"
    $password = "rootpassword"
    mkdir ./connection_server
    
    connect-viserver -server $server -User $username -Password $password
    sleep 10
    mkdir ./connection_server2
    $ESXSRV = Get-VMHost
    $ESXSRV | Foreach {Get-View $_.ID} | Foreach {$_.ShutdownHost_Task($TRUE)}
    mkdir ./extinction_esxi
    sleep 10
    Si je lance le batch.bat à la main (double clic) j'ai :
    apparition d'une fenetre de commande
    apparition d'une fenetre avec l'heure d'affiche (le echo...)
    je valide par une touche pour quitter celle-ci
    chargement du script powershell.ps1 dans la fenetre de commande
    Création des différents répertoires pour s'assurer que le script fonctionne
    extinction de l'ESXi
    Parfait !

    Maintenant, pour automatiser tout ca, il me faut le lancer sur panne de courant.

    J'ai, et je suis obligé d'utiliser ViewPower. Logiciel utilisé pour les onduleurs pour éteindre à distance x postes. Dans le logiciel on peut appeler un script sur panne de courant.

    Je met donc l'adresse de mon batch.bat à l'endroit qu'il faut.
    Je simule une panne de courant.
    Je vois la fenetre qui affiche l'heure
    Je valide par une touche, elle se ferme (comme il faut)
    et là, plus rien...
    Pas de création des répertoires.
    mon batch.bat ne semble donc pas autorisé à appeler mon powershell.ps1
    Alors qu'en manuel, ca fonctionne !

    J'aimerai savoir d'où cela puisse venir...
    Je pense que c'est probablement un probleme de droits mais je vois pas...
    J'ai essayé de bossé sous session admin, de mettre les droits à tout le monde.. peut-être ai-je mal fait, ou oublié quelque chose, ou peut-etre est-ce quelque chose de différent... Je ne vois pas...

    Si quelqu'un peut m'aider... Merci d'avance

  2. #2
    Membre chevronné
    Avatar de I'm_HERE
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 013
    Points : 1 991
    Points
    1 991
    Par défaut
    salut,

    essaye de mettre le chemin complet de ton script ps1 dans le batch

    au lieu de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    powershell .\powershell.ps1
    mets

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    powershell "c:\le chemin absolu\powershell.ps1"
    mets aussi l'executionpolicy à bypass

    untested
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    powershell -executionpolicy bypass -file "c:\le chemin absolu\powershell.ps1"

  3. #3
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2007
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2007
    Messages : 93
    Points : 70
    Points
    70
    Par défaut
    Merci !
    L'executionPolicy...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 10/05/2006, 18h40
  2. [VB.net] Stocker un id dans une combo non chargée via ds ?
    Par RiiiDD dans le forum Windows Forms
    Réponses: 6
    Dernier message: 07/04/2006, 11h21
  3. Script SQL lancé au démarrage de SQLServer
    Par Philou67 dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 06/04/2006, 16h49
  4. Créer un script de déploiement de logiciel
    Par Le gogole dans le forum Linux
    Réponses: 1
    Dernier message: 25/02/2006, 08h56
  5. Raid via logiciel
    Par Katyucha dans le forum Administration système
    Réponses: 6
    Dernier message: 14/12/2004, 16h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo