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

C# Discussion :

Script powershell qui ne fonctionne pas


Sujet :

C#

  1. #1
    Membre à l'essai
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2012
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Octobre 2012
    Messages : 38
    Points : 16
    Points
    16
    Par défaut Script powershell qui ne fonctionne pas
    Bonjour à tous,
    Je suis en train de créer un programme qui lance une commande powershell, mais cette commande n'est pas reconnu alors que je la lance sur un serveur ou j'ai activé le PSRemoting et même si je lance le script sur le serveur, cela me fait la même erreur. Quelqu'un peut m'aider? Merci d'avance

  2. #2
    Membre expérimenté
    Avatar de charouel
    Homme Profil pro
    Freelance
    Inscrit en
    Mars 2009
    Messages
    618
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2009
    Messages : 618
    Points : 1 454
    Points
    1 454
    Billets dans le blog
    9
    Par défaut
    Ton script n'est pas fonctionnel. Tu peux passer le script pour corrigé l'erreur

  3. #3
    Membre à l'essai
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2012
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Octobre 2012
    Messages : 38
    Points : 16
    Points
    16
    Par défaut
    Mon script n'est composé que d'une seule ligne :
    Invoke-Command -ComputerName NomOrdinateur -ScriptBlock{Get-MailboxFolderStatistics -Identity $sAMAccountName}

    (EDIT : je rajoute qu'avant je procéder de la manière suivante :
    $Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri adresse -Authentication auth
    Import-PSSession $Session > $null
    Get-MailboxFolderStatistics -Identity $sAMAccountName
    Get-PSSession | Remove-PSSession

    Mais on m'a demander de trouver une manière de ne pas créer de session (en grosse session pour tous si c'est une possibilité) parce qu'au final il y aura beaucoup de script et ça va prendre du temps)

  4. #4
    Membre expérimenté
    Avatar de charouel
    Homme Profil pro
    Freelance
    Inscrit en
    Mars 2009
    Messages
    618
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2009
    Messages : 618
    Points : 1 454
    Points
    1 454
    Billets dans le blog
    9
    Par défaut
    Oui tu peux passer sans faire une session. Le faite que tu assure que ton code Shell fonctionne comme cette exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Get-MailboxFolderStatistics -Identity Ayla@contoso.com -Archive

  5. #5
    Membre à l'essai
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2012
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Octobre 2012
    Messages : 38
    Points : 16
    Points
    16
    Par défaut
    Je crois que je n'ai pas assez expliqué la situation, je fais un site qui demande pour un employé donnée des information exchange. pour l'instant les script marche de la même manière que l'exemple que je vous ai montré avec les ouverture de session. Mais cette ouverture de session prend beaucoup de temps, donc j'aimerai savoir s'il y a un moyen de contourner les sessions.
    j'ai essayer avec la requête seulement mais ca ne marche pas. Je signale que le serveur qui héberge le site possède exchange. Mais je ne crois qu'il y ai l'attribut ComputerName dans les fonction exchange donc je suis coincée...

  6. #6
    Membre à l'essai
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2012
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Octobre 2012
    Messages : 38
    Points : 16
    Points
    16
    Par défaut
    C'est peut être le code qui lance le powershell qui bug? Dois-je donner des paramètres exchange dans le code c#

  7. #7
    Membre expérimenté
    Avatar de charouel
    Homme Profil pro
    Freelance
    Inscrit en
    Mars 2009
    Messages
    618
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2009
    Messages : 618
    Points : 1 454
    Points
    1 454
    Billets dans le blog
    9
    Par défaut
    au debut tu essaye d’exécuté le code sur le serveur directement si ça fonctionne alors c'est le code C# qui bug si nn c'est ton code Shell

  8. #8
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Points : 9 743
    Points
    9 743
    Billets dans le blog
    3
    Par défaut
    C'est un peu fouilli je n'arrive pas bien à cerner ton problème...

    Toujours est-il que si tu souhaites exécuter ton script en remote, tu es obligé de passer par une session, sinon ça voudrait dire que n'importe qui pourrait lancer des commandes sur ton serveur

    Regarde cet exemple : Learn How to Use PowerShell to Run Exchange Commands Remotely. Tu en trouveras plein d'autres en cherchant "powershell exchange remote session" sur Google.

    Si c'est vraiment trop lent d'ouvrir une session à chaque fois, alors tu vas devoir récupérer tes utilisateurs via Powershell, puis passer sur chacun d'eux, exécuter la commande et récupérer l'info qui t'intéresse. Ainsi tu n'auras qu'une seule session ouverte. Ou alors tu peux les récupérer via ton script C#, puis les injecter à ton Powershell en paramètre.
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

  9. #9
    Membre à l'essai
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2012
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Octobre 2012
    Messages : 38
    Points : 16
    Points
    16
    Par défaut
    Je vais essayer d'être plus explicite :

    Je fais un site qui permet d'effectuer des commande powershell qui touche les boîtes mail des utilisateurs. Le seul truc c'est que pour chaque actions, je dois ouvrir une session, effectuer la commande et fermer la session, ce qui entraine un temps fou pour que la page se charge. Donc sur le serveur qui héberge le site, nous avons installer un Exchange Management Shell qui se connecte automatiquement à un serveur Exchange. Et ma question est : de quel manière je peut utiliser ce shell pour ne pas avoir à ouvrir une session dans mes scripts powershell et pouvoir par exemple seulement marquer la commande dans le script?

  10. #10
    Membre à l'essai
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2012
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Octobre 2012
    Messages : 38
    Points : 16
    Points
    16
    Par défaut
    J'ai oublié de dire que pour chaque actions (qui sont dans des pages différentes), j'appelle un script powershell qui contient la commande.

Discussions similaires

  1. Script SVG qui ne fonctionne pas avec FF uniquement
    Par bronon dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 18/02/2015, 23h16
  2. Réponses: 5
    Dernier message: 17/12/2008, 14h18
  3. [AJAX] J'ai un script AJAX qui ne fonctionne pas
    Par beegees dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 29/10/2008, 16h21
  4. Script JSP qui ne fonctionne pas sur n'importe quel poste
    Par vannary dans le forum Servlets/JSP
    Réponses: 15
    Dernier message: 18/12/2006, 11h56
  5. [Mail] Pb de script qui ne fonctionne pas
    Par Yael dans le forum Langage
    Réponses: 5
    Dernier message: 14/02/2006, 09h27

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