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 :

Appeler une fonction dans Powershell


Sujet :

Scripts/Batch

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2018
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2018
    Messages : 2
    Par défaut Appeler une fonction dans Powershell
    Bonjour,
    J'essaye de créer une fonction dans PowerShell. Je veux l'appeler dans mon script. C'est quoi l'erreur que je fais car ça ne fonctionne pas.
    Voici l'erreur que je recois:
    Start-Process : Lecteur introuvable. Il n'existe aucun lecteur nommé «*

    $Msiexec = 'Msiexec.exe'
    ......



    Voici mon script:
    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    $Test = "C:\Temp\Test"
    $FolderTestExists = Test-Path $Test
     
     
    function TestInstall {
     
           $Msiexec = 'Msiexec.exe'
           $MsiSources = 'Test.msi'
           $InstallMode = '/i'
           $ArgumentMSI = 'Test.mst'
           $SilentMode = '/qb+'
           $MsiArgument = "/l*v C:\Temp\TestMSI.log"
           $MsiCommandLine = $InstallMode + ' ' + '"' + $MsiSources + '"' + ' ' + 'TRANFORMS=' + '"' + $ArgumentMSI + '"' + ' ' + 'Reboot=ReallySuppress' + ' ' + $SilentMode + ' ' + $MsiArgument
           $MsiCommandLine
     
           $WorkingDirectory = Split-Path -Path $MyInvocation.MyCommand.Definition -Parent -ErrorAction Stop
           $Action = Start-Process $Msiexec -WorkingDirectory $WorkingDirectory -ArgumentList $MsiCommandLine -Wait -PassThru
           $Action.WaitForExit() 
    }
     
    If ($FolderTestExists -eq $true)
        {
            # Calling the function
            TestInstall
     
        }
    else
          { 
                Write-Host "Test MSI already installed"
             }



    Merci d'avance pour toute réponse.

  2. #2
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Billets dans le blog
    1
    Par défaut
    Salut,
    quelle version de Powershell utilises-tu ?

    Sur mon post (PS v5.1 Seven) le process s'exécute bien, la ligne d'argument est correctement construite et le fichier de log est crée. Je n'ai pas exécuté le code en tant que script, mais directement dans la console.

    Au cas où vérifie la liaison de paramètre :
    Code powershell : Sélectionner tout - Visualiser dans une fenêtre à part
    trace-command ParameterBinding -Expression{ Start-Process $Msiexec -WorkingDirectory c:\temp -ArgumentList $MsiCommandLine -Wait -PassThru} -pshost
    Il se peut que ceci soit erroné :
    Code powershell : Sélectionner tout - Visualiser dans une fenêtre à part
    $WorkingDirectory = Split-Path -Path $MyInvocation.MyCommand.Definition -Parent -ErrorAction Stop
    Je te laisse tester

Discussions similaires

  1. [C#][2.0] Appel à une fonction dans global.asax
    Par lilianjee dans le forum ASP.NET
    Réponses: 2
    Dernier message: 05/10/2006, 15h58
  2. appel à une fonction dans la classe Action
    Par imane_bennouna dans le forum Struts 1
    Réponses: 3
    Dernier message: 07/08/2006, 11h09
  3. Appeler une fonction dans le body
    Par FredKéKé dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 05/04/2006, 10h43
  4. Appeler une fonction dans un autre cadre !
    Par rich25200 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 01/11/2005, 13h01
  5. Réponses: 7
    Dernier message: 10/09/2005, 16h49

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