Start-Process
Inicia uno o varios procesos en el equipo local.
Sintaxis
Default (valor predeterminado)
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
El cmdlet Start-Process inicia uno o varios procesos en el equipo local. Para especificar el programa que se ejecuta en el proceso, escriba un archivo ejecutable o un archivo de script, o un archivo que se pueda abrir mediante un programa en el equipo. Si especifica un archivo no ejecutable, Start-Process inicia el programa asociado al archivo, similar al cmdlet Invoke-Item.
Puede usar los parámetros de Start-Process para especificar opciones, como cargar un perfil de usuario, iniciar el proceso en una nueva ventana o usar credenciales alternativas.
Ejemplos
Ejemplo 1: Iniciar un proceso que use valores predeterminados
En este ejemplo se inicia un proceso que usa el archivo Sort.exe en la carpeta actual. El comando usa todos los valores predeterminados, incluido el estilo de ventana predeterminado, la carpeta de trabajo y las credenciales.
Start-Process -FilePath "sort.exe"
Ejemplo 2: Imprimir un archivo de texto
En este ejemplo se inicia un proceso que imprime el archivo C:\PS-Test\MyFile.txt.
Start-Process -FilePath "myfile.txt" -WorkingDirectory "C:\PS-Test" -Verb Print
Ejemplo 3: Iniciar un proceso para ordenar elementos a un nuevo archivo
En este ejemplo se inicia un proceso que ordena los elementos del archivo Testsort.txt y devuelve los elementos ordenados en los archivos Sorted.txt. Los errores se escriben en el archivo SortError.txt.
Start-Process -FilePath "Sort.exe" -RedirectStandardInput "Testsort.txt" -RedirectStandardOutput "Sorted.txt" -RedirectStandardError "SortError.txt" -UseNewEnvironment
El parámetro UseNewEnvironment especifica que el proceso se ejecuta con sus propias variables de entorno.
Ejemplo 4: Iniciar un proceso en una ventana maximizada
En este ejemplo se inicia el proceso de Notepad.exe. Maximiza la ventana y conserva la ventana hasta que se completa el proceso.
Start-Process -FilePath "notepad" -Wait -WindowStyle Maximized
Ejemplo 5: Iniciar PowerShell como administrador
En este ejemplo se inicia PowerShell mediante la opción "Ejecutar como administrador".
Start-Process -FilePath "powershell" -Verb RunAs
Ejemplo 6: Uso de verbos diferentes para iniciar un proceso
En este ejemplo se muestra cómo buscar los verbos que se pueden usar al iniciar un proceso. Los verbos disponibles están determinados por la extensión de nombre de archivo del archivo que se ejecuta en el proceso.
$startExe = New-Object System.Diagnostics.ProcessStartInfo -Args PowerShell.exe
$startExe.verbs
open
runas
En el ejemplo se usa New-Object para crear un objeto System.Diagnostics.ProcessStartInfo para PowerShell.exe, el archivo que se ejecuta en el proceso de PowerShell. La propiedad Verbs
Ejemplo 7: Especificar argumentos para el proceso
Ambos comandos inician el intérprete de comandos de Windows, emitiendo un comando dir en la carpeta "Archivos de programa". Dado que este nombredecarpeta contiene un espacio, el valor necesita rodeado de comillas con escape. Tenga en cuenta que el primer comando especifica una cadena como ArgumentList. El segundo comando es una matriz de cadenas.
Start-Process -FilePath "$env:comspec" -ArgumentList "/c dir `"%systemdrive%\program files`""
Start-Process -FilePath "$env:comspec" -ArgumentList "/c","dir","`"%systemdrive%\program files`""
Parámetros
-ArgumentList
Especifica parámetros o valores de parámetro que se van a usar cuando este cmdlet inicia el proceso. Si los parámetros o los valores de parámetro contienen un espacio, necesitan estar rodeados de comillas dobles con escape.
Propiedades de parámetro
| Tipo: | String[] |
| Valor predeterminado: | None |
| Admite caracteres comodín: | False |
| DontShow: | False |
| Alias: | Argumentos |
Conjuntos de parámetros
(All)
| Posición: | 1 |
| Obligatorio: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
-Credential
Especifica una cuenta de usuario que tiene permiso para realizar esta acción. Escriba un nombre de usuario, como User01 o Domain01\User01, o escriba un objeto de PSCredential, como uno del cmdlet Get-Credential. De forma predeterminada, el cmdlet usa las credenciales del usuario actual.
Propiedades de parámetro
| Tipo: | PSCredential |
| Valor predeterminado: | None |
| Admite caracteres comodín: | False |
| DontShow: | False |
| Alias: | RunAs |
Conjuntos de parámetros
Default
| Posición: | Named |
| Obligatorio: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
-FilePath
Especifica la ruta de acceso opcional y el nombre de archivo del programa que se ejecuta en el proceso. Escriba el nombre de un archivo ejecutable o de un documento, como un archivo .txt o .doc, que está asociado a un programa en el equipo. Este parámetro es obligatorio.
Si especifica solo un nombre de archivo, use el parámetro WorkingDirectory para especificar la ruta de acceso.
Propiedades de parámetro
| Tipo: | String |
| Valor predeterminado: | None |
| Admite caracteres comodín: | False |
| DontShow: | False |
| Alias: | PSPath |
Conjuntos de parámetros
(All)
| Posición: | 0 |
| Obligatorio: | True |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
-LoadUserProfile
Indica que este cmdlet carga el perfil de usuario de Windows almacenado en la clave del Registro de HKEY_USERS para el usuario actual.
Este parámetro no afecta a los perfiles de PowerShell. Para obtener más información, vea about_Profiles.
Propiedades de parámetro
| Tipo: | SwitchParameter |
| Valor predeterminado: | None |
| Admite caracteres comodín: | False |
| DontShow: | False |
| Alias: | Lup |
Conjuntos de parámetros
Default
| Posición: | Named |
| Obligatorio: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
-NoNewWindow
Inicie el nuevo proceso en la ventana de la consola actual. De forma predeterminada, PowerShell abre una nueva ventana.
No puede usar los parámetros NoNewWindow y WindowStyle en el mismo comando.
Propiedades de parámetro
| Tipo: | SwitchParameter |
| Valor predeterminado: | None |
| Admite caracteres comodín: | False |
| DontShow: | False |
| Alias: | Nno |
Conjuntos de parámetros
Default
| Posición: | Named |
| Obligatorio: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
-PassThru
Devuelve un objeto de proceso para cada proceso que inició el cmdlet. De forma predeterminada, este cmdlet no genera ninguna salida.
Propiedades de parámetro
| Tipo: | SwitchParameter |
| Valor predeterminado: | None |
| Admite caracteres comodín: | False |
| DontShow: | False |
Conjuntos de parámetros
(All)
| Posición: | Named |
| Obligatorio: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
-RedirectStandardError
Especifica un archivo. Este cmdlet envía los errores generados por el proceso a un archivo que especifique. Escriba la ruta de acceso y el nombre de archivo. De forma predeterminada, los errores se muestran en la consola.
Propiedades de parámetro
| Tipo: | String |
| Valor predeterminado: | None |
| Admite caracteres comodín: | False |
| DontShow: | False |
| Alias: | RSE |
Conjuntos de parámetros
Default
| Posición: | Named |
| Obligatorio: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
-RedirectStandardInput
Especifica un archivo. Este cmdlet lee la entrada del archivo especificado. Escriba la ruta de acceso y el nombre de archivo del archivo de entrada. De forma predeterminada, el proceso obtiene su entrada desde el teclado.
Propiedades de parámetro
| Tipo: | String |
| Valor predeterminado: | None |
| Admite caracteres comodín: | False |
| DontShow: | False |
| Alias: | RSI |
Conjuntos de parámetros
Default
| Posición: | Named |
| Obligatorio: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
-RedirectStandardOutput
Especifica un archivo. Este cmdlet envía la salida generada por el proceso a un archivo que especifique. Escriba la ruta de acceso y el nombre de archivo. De forma predeterminada, la salida se muestra en la consola.
Propiedades de parámetro
| Tipo: | String |
| Valor predeterminado: | None |
| Admite caracteres comodín: | False |
| DontShow: | False |
| Alias: | RSO |
Conjuntos de parámetros
Default
| Posición: | Named |
| Obligatorio: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
-UseNewEnvironment
Indica que este cmdlet usa nuevas variables de entorno especificadas para el proceso. De forma predeterminada, el proceso iniciado se ejecuta con las variables de entorno especificadas para el equipo y el usuario.
Propiedades de parámetro
| Tipo: | SwitchParameter |
| Valor predeterminado: | None |
| Admite caracteres comodín: | False |
| DontShow: | False |
Conjuntos de parámetros
Default
| Posición: | Named |
| Obligatorio: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
-Verb
Especifica un verbo que se va a usar cuando este cmdlet inicia el proceso. Los verbos disponibles están determinados por la extensión de nombre de archivo del archivo que se ejecuta en el proceso.
En la tabla siguiente se muestran los verbos de algunos tipos de archivo de proceso comunes.
| Tipo de archivo | Verbos |
|---|---|
| .cmd | Editar, Abrir, Imprimir, RunAs, RunAsUser |
| .exe | Abrir, RunAs, RunAsUser |
| .txt | Abrir, Imprimir, PrintTo |
| .wav | Abrir, Reproducir |
Para buscar los verbos que se pueden usar con el archivo que se ejecuta en un proceso, use el cmdlet New-Object para crear un objeto System.Diagnostics.ProcessStartInfo para el archivo. Los verbos disponibles se encuentran en la propiedad verbs
Propiedades de parámetro
| Tipo: | String |
| Valor predeterminado: | None |
| Admite caracteres comodín: | False |
| DontShow: | False |
Conjuntos de parámetros
UseShellExecute
| Posición: | Named |
| Obligatorio: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
-Wait
Indica que este cmdlet espera a que se complete el proceso especificado y sus descendientes antes de aceptar más entradas. Este parámetro suprime el símbolo del sistema o conserva la ventana hasta que finalicen los procesos.
Propiedades de parámetro
| Tipo: | SwitchParameter |
| Valor predeterminado: | None |
| Admite caracteres comodín: | False |
| DontShow: | False |
Conjuntos de parámetros
(All)
| Posición: | Named |
| Obligatorio: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
-WindowStyle
Especifica el estado de la ventana que se usa para el nuevo proceso. Los valores aceptables para este parámetro son: Normal, Hidden, Minimizadoy Maximizado. El valor predeterminado es Normal.
No puede usar los parámetros WindowStyle y NoNewWindow en el mismo comando.
Propiedades de parámetro
| Tipo: | ProcessWindowStyle |
| Valor predeterminado: | None |
| Valores aceptados: | Normal, Hidden, Minimized, Maximized |
| Admite caracteres comodín: | False |
| DontShow: | False |
Conjuntos de parámetros
(All)
| Posición: | Named |
| Obligatorio: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
-WorkingDirectory
Especifica la ubicación del archivo ejecutable o el documento que se ejecuta en el proceso. El valor predeterminado es la carpeta del nuevo proceso.
Propiedades de parámetro
| Tipo: | String |
| Valor predeterminado: | None |
| Admite caracteres comodín: | False |
| DontShow: | False |
Conjuntos de parámetros
(All)
| Posición: | Named |
| Obligatorio: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
CommonParameters
Este cmdlet admite los parámetros comunes: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction y -WarningVariable. Para obtener más información, vea about_CommonParameters.
Entradas
None
No se puede canalizar la entrada a este cmdlet.
Salidas
None, System.Diagnostics.Process
Este cmdlet genera un objeto
Notas
- Este cmdlet se implementa mediante el método
Start de la clase System.Diagnostics.Process de. Para obtener más información sobre este método, vea Método Process.Start.