Partager via


Start-Process

Démarre un ou plusieurs processus sur l’ordinateur local.

Syntaxe

Default (Par défaut)

Start-Process
    [-FilePath] <String>
    [[-ArgumentList] <String[]>]
    [-Credential <PSCredential>]
    [-WorkingDirectory <String>]
    [-LoadUserProfile]
    [-NoNewWindow]
    [-PassThru]
    [-RedirectStandardError <String>]
    [-RedirectStandardInput <String>]
    [-RedirectStandardOutput <String>]
    [-WindowStyle <ProcessWindowStyle>]
    [-Wait]
    [-UseNewEnvironment]
    [<CommonParameters>]

UseShellExecute

Start-Process
    [-FilePath] <String>
    [[-ArgumentList] <String[]>]
    [-WorkingDirectory <String>]
    [-PassThru]
    [-Verb <String>]
    [-WindowStyle <ProcessWindowStyle>]
    [-Wait]
    [<CommonParameters>]

Description

L’applet de commande Start-Process démarre un ou plusieurs processus sur l’ordinateur local. Pour spécifier le programme qui s’exécute dans le processus, entrez un fichier exécutable ou un fichier de script, ou un fichier qui peut être ouvert à l’aide d’un programme sur l’ordinateur. Si vous spécifiez un fichier non exécutable, Start-Process démarre le programme associé au fichier, similaire à l’applet de commande Invoke-Item.

Vous pouvez utiliser les paramètres de Start-Process pour spécifier des options, telles que le chargement d’un profil utilisateur, le démarrage du processus dans une nouvelle fenêtre ou l’utilisation d’autres informations d’identification.

Exemples

Exemple 1 : Démarrer un processus qui utilise des valeurs par défaut

Cet exemple démarre un processus qui utilise le fichier Sort.exe dans le dossier actif. La commande utilise toutes les valeurs par défaut, notamment le style de fenêtre par défaut, le dossier de travail et les informations d’identification.

Start-Process -FilePath "sort.exe"

Exemple 2 : Imprimer un fichier texte

Cet exemple démarre un processus qui imprime le fichier C:\PS-Test\MyFile.txt.

Start-Process -FilePath "myfile.txt" -WorkingDirectory "C:\PS-Test" -Verb Print

Exemple 3 : Démarrer un processus pour trier les éléments dans un nouveau fichier

Cet exemple démarre un processus qui trie les éléments dans le fichier Testsort.txt et retourne les éléments triés dans les fichiers Sorted.txt. Toutes les erreurs sont écrites dans le fichier SortError.txt.

Start-Process -FilePath "Sort.exe" -RedirectStandardInput "Testsort.txt" -RedirectStandardOutput "Sorted.txt" -RedirectStandardError "SortError.txt" -UseNewEnvironment

Le paramètre UseNewEnvironment spécifie que le processus s’exécute avec ses propres variables d’environnement.

Exemple 4 : Démarrer un processus dans une fenêtre agrandie

Cet exemple démarre le processus Notepad.exe. Il agrandit la fenêtre et conserve la fenêtre jusqu’à ce que le processus se termine.

Start-Process -FilePath "notepad" -Wait -WindowStyle Maximized

Exemple 5 : Démarrer PowerShell en tant qu’administrateur

Cet exemple démarre PowerShell à l’aide de l’option « Exécuter en tant qu’administrateur ».

Start-Process -FilePath "powershell" -Verb RunAs

Exemple 6 : Utilisation de verbes différents pour démarrer un processus

Cet exemple montre comment rechercher les verbes qui peuvent être utilisés lors du démarrage d’un processus. Les verbes disponibles sont déterminés par l’extension de nom de fichier du fichier qui s’exécute dans le processus.

$startExe = New-Object System.Diagnostics.ProcessStartInfo -Args PowerShell.exe
$startExe.verbs
open
runas

L’exemple utilise New-Object pour créer un objet System.Diagnostics.ProcessStartInfo pour PowerShell.exe, le fichier qui s’exécute dans le processus PowerShell. La propriété Verbs de l’objet ProcessStartInfo montre que vous pouvez utiliser les Ouvrir et verbes RunAs avec PowerShell.exe, ou avec n’importe quel processus qui exécute un fichier .exe.

Exemple 7 : Spécification d’arguments au processus

Les deux commandes démarrent l’interpréteur de commandes Windows, en émettant une commande dir dans le dossier « Program Files ». Étant donné que ce nom de dossier contient un espace, la valeur doit être entourée de guillemets échapés. Notez que la première commande spécifie une chaîne en tant qu’ArgumentList. Deuxième commande, tableau de chaînes.

Start-Process -FilePath "$env:comspec" -ArgumentList "/c dir `"%systemdrive%\program files`""
Start-Process -FilePath "$env:comspec" -ArgumentList "/c","dir","`"%systemdrive%\program files`""

Paramètres

-ArgumentList

Spécifie des paramètres ou des valeurs de paramètre à utiliser lorsque cette applet de commande démarre le processus. Si les paramètres ou les valeurs de paramètre contiennent un espace, ils doivent être entourés de guillemets doubles échapés.

Propriétés du paramètre

Type:

String[]

Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False
Alias:Args

Jeux de paramètres

(All)
Position:1
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-Credential

Spécifie un compte d’utilisateur autorisé à effectuer cette action. Tapez un nom d’utilisateur, tel que User01 ou Domain01\User01, ou entrez un objet PSCredential, tel qu’un de l’applet de commande Get-Credential. Par défaut, l’applet de commande utilise les informations d’identification de l’utilisateur actuel.

Propriétés du paramètre

Type:PSCredential
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False
Alias:RunAs

Jeux de paramètres

Default
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-FilePath

Spécifie le chemin d’accès et le nom de fichier facultatifs du programme qui s’exécute dans le processus. Entrez le nom d’un fichier exécutable ou d’un document, tel qu’un .txt ou un fichier .doc, associé à un programme sur l’ordinateur. Ce paramètre est obligatoire.

Si vous spécifiez uniquement un nom de fichier, utilisez le paramètre WorkingDirectory pour spécifier le chemin d’accès.

Propriétés du paramètre

Type:String
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False
Alias:PSPath

Jeux de paramètres

(All)
Position:0
Obligatoire:True
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-LoadUserProfile

Indique que cette applet de commande charge le profil utilisateur Windows stocké dans la clé de Registre HKEY_USERS pour l’utilisateur actuel.

Ce paramètre n’affecte pas les profils PowerShell. Pour plus d’informations, consultez about_Profiles.

Propriétés du paramètre

Type:SwitchParameter
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False
Alias:Lup

Jeux de paramètres

Default
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-NoNewWindow

Démarrez le nouveau processus dans la fenêtre de console actuelle. Par défaut, PowerShell ouvre une nouvelle fenêtre.

Vous ne pouvez pas utiliser les paramètres NoNewWindow et WindowStyle dans la même commande.

Propriétés du paramètre

Type:SwitchParameter
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False
Alias:Nno

Jeux de paramètres

Default
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-PassThru

Retourne un objet de processus pour chaque processus démarré par l’applet de commande. Par défaut, cette applet de commande ne génère aucune sortie.

Propriétés du paramètre

Type:SwitchParameter
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-RedirectStandardError

Spécifie un fichier. Cette applet de commande envoie toutes les erreurs générées par le processus à un fichier que vous spécifiez. Entrez le chemin d’accès et le nom de fichier. Par défaut, les erreurs s’affichent dans la console.

Propriétés du paramètre

Type:String
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False
Alias:RSE

Jeux de paramètres

Default
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-RedirectStandardInput

Spécifie un fichier. Cette applet de commande lit l’entrée à partir du fichier spécifié. Entrez le chemin d’accès et le nom de fichier du fichier d’entrée. Par défaut, le processus obtient son entrée à partir du clavier.

Propriétés du paramètre

Type:String
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False
Alias:RSI

Jeux de paramètres

Default
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-RedirectStandardOutput

Spécifie un fichier. Cette applet de commande envoie la sortie générée par le processus à un fichier que vous spécifiez. Entrez le chemin d’accès et le nom de fichier. Par défaut, la sortie s’affiche dans la console.

Propriétés du paramètre

Type:String
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False
Alias:RSO

Jeux de paramètres

Default
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-UseNewEnvironment

Indique que cette applet de commande utilise de nouvelles variables d’environnement spécifiées pour le processus. Par défaut, le processus démarré s’exécute avec les variables d’environnement spécifiées pour l’ordinateur et l’utilisateur.

Propriétés du paramètre

Type:SwitchParameter
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

Default
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-Verb

Spécifie un verbe à utiliser lorsque cette applet de commande démarre le processus. Les verbes disponibles sont déterminés par l’extension de nom de fichier du fichier qui s’exécute dans le processus.

Le tableau suivant présente les verbes pour certains types de fichiers de processus courants.

Type de fichier Verbes
.cmd Modifier, Ouvrir, Imprimer, Exécuter, Exécuter en tant qu’utilisateur
.exe Ouvrir, Exécuter, ExécuterUtilisateur
.txt Ouvrir, Imprimer, PrintTo
.wav (format audio) Ouvrir, lire

Pour rechercher les verbes qui peuvent être utilisés avec le fichier qui s’exécute dans un processus, utilisez l’applet de commande New-Object pour créer un objet System.Diagnostics.ProcessStartInfo pour le fichier. Les verbes disponibles se trouvent dans la propriété Verbs de l’objet ProcessStartInfo. Pour plus d’informations, consultez les exemples.

Propriétés du paramètre

Type:String
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

UseShellExecute
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-Wait

Indique que cette applet de commande attend que le processus spécifié et ses descendants se terminent avant d’accepter plus d’entrée. Ce paramètre supprime l’invite de commandes ou conserve la fenêtre jusqu’à ce que les processus se terminent.

Propriétés du paramètre

Type:SwitchParameter
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-WindowStyle

Spécifie l’état de la fenêtre utilisée pour le nouveau processus. Les valeurs acceptables pour ce paramètre sont les suivantes : normal, masqué, réduit et agrandi. La valeur par défaut est normal.

Vous ne pouvez pas utiliser les paramètres WindowStyle et NoNewWindow dans la même commande.

Propriétés du paramètre

Type:ProcessWindowStyle
Valeur par défaut:None
Valeurs acceptées:Normal, Hidden, Minimized, Maximized
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-WorkingDirectory

Spécifie l’emplacement du fichier exécutable ou du document qui s’exécute dans le processus. La valeur par défaut est le dossier du nouveau processus.

Propriétés du paramètre

Type:String
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

CommonParameters

Cette applet de commande prend en charge les paramètres courants : -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction et -WarningVariable. Pour plus d’informations, consultez about_CommonParameters.

Entrées

None

Vous ne pouvez pas diriger d'entrée vers cette applet de commande.

Sorties

None, System.Diagnostics.Process

Cette applet de commande génère un objet System.Diagnostics.Process, si vous spécifiez le paramètre passThru . Sinon, cette applet de commande ne retourne aucune sortie.

Notes

  • Cette applet de commande est implémentée à l’aide de la méthode Start de la classe System.Diagnostics.Process . Pour plus d’informations sur cette méthode, consultez méthode Process.Start.