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 :

Exécution d'un script sur un client


Sujet :

Scripts/Batch

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2015
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2015
    Messages : 19
    Points : 7
    Points
    7
    Par défaut Exécution d'un script sur un client
    Bonjour,

    Je me doute que la question a déjà été posé mais je n'ai définitivement pas trouvé de solutions à l'heure actuelle.

    J'aimerai déployer un script Powershell par GPO sur des machines client, ce script va exécuter la commande suivante :

    Code powershell : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    $Post_name = [Environment]::MachineName
    $Files_path = "\\DOMAIN\d$\DeMas\Machines\$Post_name"
     
    if(Test-Path "\\DOMAIN\d$\DeMas\Machines\$Post_name"){     # Test si le directory existe
        powershell "\\DOMAIN\d$\DeMas\Machines\test.ps1"           # Si il existe, on exécute le script PowerShell à l'intérieur
    }else{
        New-Item -path "\\DOMAIN\d$\DeMas\Machines\" -Name $Post_name -ItemType directory      # Si il existe pas, on créer le dossier (qui aura le nom de la machine)
    }

    Pour l'instant voici ce qui est configuré :
    • Une GPO qui "Autoriser tous les script" appliqué au niveau machine et user ( au cas ou )
    • Une GPO qui "Allow remote server" appliqué au niveau machine (WinRM)
    • Ma GPO de déploiement, placé dans "Script au démarrage" au niveau machine. "Run first" est sélectionné


    J'ai essayé de tous mettre au niveau user mais ça ne fonctionne pas non plus, j'ai également modifié les paramètres du script en "Run last" etc .. ça ne fonctionne pas.
    Je sais que si la GPO de déploiement est placé au niveau User et que l'utilisateur qui se connecte est Domain Admin ça fonctionne.

    Je précise que mon serveur est un Windows 2008 R2 et que tous mes clients tournes sur Windows 7 ou plus récent.

    On a donc un problème de droit .. le dossier partagé est configuré en "Lecture/Exécution" pour les domain user.

    Ma question : J'aimerai exécuter un script powershell au niveau machine, comment faire ?

    Merci d'avance et bon weekà-end !

    Yanover

  2. #2
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2015
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2015
    Messages : 19
    Points : 7
    Points
    7
    Par défaut
    Je me permet de UP le topic, merci d'avance pour votre aide (je galère)

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2015
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2015
    Messages : 19
    Points : 7
    Points
    7
    Par défaut
    Visiblement personne ne peut m'aider, je vais essayer de vous donner quelques précisions.

    J'ai légèrement modifié le script déployé par la GPO :


    Code powershell : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    # Récupération du nom de la machine et du chemin d'exécution ============================== #
    $Post_name = [Environment]::MachineName
    $Files_path = "\\DOMAIN\DeMas$\Machines\$Post_name"
     
    # Démarrage des tests ============================== #
     
    if(Test-Path "\\DOMAIN\DeMas$\Machines\$Post_name"){
     
        $soft = gci "\\DOMAIN\DeMas$\Machines\$Post_name\" | Where-Object {$_.extension -eq ".ps1"}
     
        foreach ($item in $soft)
        {
            powershell.exe "\\DOMAIN\DeMas$\Machines\$post_name\$item" 
        }
     
    }else{
     
        New-Item -path "\\DOMAIN\DeMas$\Machines" -Name $Post_name -ItemType directory 
     
    }

    De temps en temps ça fonctionne, la machine créer le directory. Par contre impossible au deuxième démarrage d'exécuter le .ps1 à l'intérieur .. Pourquoi le script ne s'exécute pas à chaque démarrage ? Pourquoi le client ne peut pas exécuter le contenue .ps1 ?

    Le dossier DeMas, qui se situe sur le fileServer est en partage pour "Everyone", j'ai donné des droits d'exécution/écriture/lecture à la machine qui reçoit la GPO et à l'utilisateur connecté.

    J'espère vraiment recevoir de l'aide rapidement, c'est urgent.

    Merci d'avance !

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2015
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2015
    Messages : 19
    Points : 7
    Points
    7
    Par défaut
    Up !

  5. #5
    Membre habitué
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2015
    Messages
    66
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juillet 2015
    Messages : 66
    Points : 126
    Points
    126
    Par défaut
    Difficile de répondre sans voir la machine en question, ce que je regarderais c'est si le script s'exécute sous le compte SYSTEM, auquel cas il n'aurait pas les droits sur le serveur \\DOMAIN.

    Donc un test simple serait de prendre une machine où ça ne fonctionne pas, tout copier dans c:\temp par exemple, et adapter le script pour exécuter en local et voir ce qui se passe.

    Ensuite puisque ça fonctionne une première fois, il se pourrait qu'une des commandes utilisées lors du 2eme passage n'ait pas les droits, comme Get-ChildItem etc. Pour chaque commande vérifier si elle fonctionne voire créer un log pour vérifier la ligne de code exécutée et la commande voulue.

    Désolé de ne pas pouvoir en dire plus, je pense qu'il faut une bonne session de trouble-shooting.

Discussions similaires

  1. [PHP 5.4] Exécution périodique de script sur IIS
    Par aspkiddy dans le forum Langage
    Réponses: 2
    Dernier message: 06/06/2014, 21h55
  2. [XL-2007] Suspendre une macro le temps d'exécution d'un script sur SAP
    Par yaciin dans le forum Excel
    Réponses: 2
    Dernier message: 10/03/2014, 10h09
  3. [Configuration] Exécution d'un script chaque jour sur windows
    Par tiger360 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 4
    Dernier message: 20/02/2008, 18h32
  4. exécution d'un script d'upload de fichier coté client
    Par cyril911 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 4
    Dernier message: 02/04/2007, 18h38
  5. Réponses: 6
    Dernier message: 09/11/2005, 17h29

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