Start-Process
Inicia um ou mais processos no computador local.
Sintaxe
Default (Default)
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
O cmdlet Start-Process inicia um ou mais processos no computador local. Para especificar o programa executado no processo, insira um arquivo executável ou um arquivo de script ou um arquivo que possa ser aberto usando um programa no computador. Se você especificar um arquivo não executável, Start-Process iniciará o programa associado ao arquivo, semelhante ao cmdlet Invoke-Item.
Você pode usar os parâmetros de Start-Process para especificar opções, como carregar um perfil de usuário, iniciar o processo em uma nova janela ou usar credenciais alternativas.
Exemplos
Exemplo 1: iniciar um processo que usa valores padrão
Este exemplo inicia um processo que usa o arquivo Sort.exe na pasta atual. O comando usa todos os valores padrão, incluindo o estilo de janela padrão, a pasta de trabalho e as credenciais.
Start-Process -FilePath "sort.exe"
Exemplo 2: Imprimir um arquivo de texto
Este exemplo inicia um processo que imprime o arquivo C:\PS-Test\MyFile.txt.
Start-Process -FilePath "myfile.txt" -WorkingDirectory "C:\PS-Test" -Verb Print
Exemplo 3: iniciar um processo para classificar itens para um novo arquivo
Este exemplo inicia um processo que classifica itens no arquivo Testsort.txt e retorna os itens classificados nos arquivos Sorted.txt. Todos os erros são gravados no arquivo SortError.txt.
Start-Process -FilePath "Sort.exe" -RedirectStandardInput "Testsort.txt" -RedirectStandardOutput "Sorted.txt" -RedirectStandardError "SortError.txt" -UseNewEnvironment
O parâmetro UseNewEnvironment especifica que o processo é executado com suas próprias variáveis de ambiente.
Exemplo 4: iniciar um processo em uma janela maximizada
Este exemplo inicia o processo de Notepad.exe. Ele maximiza a janela e mantém a janela até que o processo seja concluído.
Start-Process -FilePath "notepad" -Wait -WindowStyle Maximized
Exemplo 5: Iniciar o PowerShell como administrador
Este exemplo inicia o PowerShell usando a opção "Executar como administrador".
Start-Process -FilePath "powershell" -Verb RunAs
Exemplo 6: Usando verbos diferentes para iniciar um processo
Este exemplo mostra como localizar os verbos que podem ser usados ao iniciar um processo. Os verbos disponíveis são determinados pela extensão de nome de arquivo do arquivo executado no processo.
$startExe = New-Object System.Diagnostics.ProcessStartInfo -Args PowerShell.exe
$startExe.verbs
open
runas
O exemplo usa
Exemplo 7: Especificando argumentos para o processo
Ambos os comandos iniciam o interpretador de comandos do Windows, emitindo um comando dir na pasta 'Arquivos de Programas'. Como esse nome de pasta contém um espaço, o valor precisa estar entre aspas de escape. Observe que o primeiro comando especifica uma cadeia de caracteres como ArgumentList. O segundo comando uma matriz de cadeia de caracteres.
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 ou valores de parâmetro a serem usados quando esse cmdlet iniciar o processo. Se parâmetros ou valores de parâmetro contiverem um espaço, eles precisarão ser cercados por aspas duplas com escape.
Propriedades do parâmetro
| Tipo: | String[] |
| Valor padrão: | None |
| Dá suporte a curingas: | False |
| DontShow: | False |
| Aliases: | Argumentos |
Conjuntos de parâmetros
(All)
| Cargo: | 1 |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
-Credential
Especifica uma conta de usuário que tem permissão para executar essa ação. Digite um nome de usuário, como User01 ou Domain01\User01, ou insira um objeto PSCredential
Propriedades do parâmetro
| Tipo: | PSCredential |
| Valor padrão: | None |
| Dá suporte a curingas: | False |
| DontShow: | False |
| Aliases: | RunAs |
Conjuntos de parâmetros
Default
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
-FilePath
Especifica o caminho opcional e o nome do arquivo do programa que é executado no processo. Insira o nome de um arquivo executável ou de um documento, como um arquivo .txt ou .doc, associado a um programa no computador. Este parâmetro é obrigatório.
Se você especificar apenas um nome de arquivo, use o parâmetro WorkingDirectory para especificar o caminho.
Propriedades do parâmetro
| Tipo: | String |
| Valor padrão: | None |
| Dá suporte a curingas: | False |
| DontShow: | False |
| Aliases: | PSPath |
Conjuntos de parâmetros
(All)
| Cargo: | 0 |
| Obrigatório: | True |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
-LoadUserProfile
Indica que esse cmdlet carrega o perfil de usuário do Windows armazenado na chave do registro HKEY_USERS para o usuário atual.
Esse parâmetro não afeta os perfis do PowerShell. Para obter mais informações, consulte about_Profiles.
Propriedades do parâmetro
| Tipo: | SwitchParameter |
| Valor padrão: | None |
| Dá suporte a curingas: | False |
| DontShow: | False |
| Aliases: | Lup |
Conjuntos de parâmetros
Default
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
-NoNewWindow
Inicie o novo processo na janela do console atual. Por padrão, o PowerShell abre uma nova janela.
Não é possível usar os parâmetros e
Propriedades do parâmetro
| Tipo: | SwitchParameter |
| Valor padrão: | None |
| Dá suporte a curingas: | False |
| DontShow: | False |
| Aliases: | nnw |
Conjuntos de parâmetros
Default
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
-PassThru
Retorna um objeto de processo para cada processo iniciado pelo cmdlet. Por padrão, esse cmdlet não gera nenhuma saída.
Propriedades do parâmetro
| Tipo: | SwitchParameter |
| Valor padrão: | None |
| Dá suporte a curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
(All)
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
-RedirectStandardError
Especifica um arquivo. Esse cmdlet envia todos os erros gerados pelo processo para um arquivo que você especificar. Insira o caminho e o nome do arquivo. Por padrão, os erros são exibidos no console.
Propriedades do parâmetro
| Tipo: | String |
| Valor padrão: | None |
| Dá suporte a curingas: | False |
| DontShow: | False |
| Aliases: | RSE |
Conjuntos de parâmetros
Default
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
-RedirectStandardInput
Especifica um arquivo. Esse cmdlet lê a entrada do arquivo especificado. Insira o caminho e o nome do arquivo de entrada. Por padrão, o processo obtém sua entrada do teclado.
Propriedades do parâmetro
| Tipo: | String |
| Valor padrão: | None |
| Dá suporte a curingas: | False |
| DontShow: | False |
| Aliases: | RSI |
Conjuntos de parâmetros
Default
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
-RedirectStandardOutput
Especifica um arquivo. Esse cmdlet envia a saída gerada pelo processo para um arquivo que você especificar. Insira o caminho e o nome do arquivo. Por padrão, a saída é exibida no console.
Propriedades do parâmetro
| Tipo: | String |
| Valor padrão: | None |
| Dá suporte a curingas: | False |
| DontShow: | False |
| Aliases: | RSO |
Conjuntos de parâmetros
Default
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
-UseNewEnvironment
Indica que esse cmdlet usa novas variáveis de ambiente especificadas para o processo. Por padrão, o processo iniciado é executado com as variáveis de ambiente especificadas para o computador e o usuário.
Propriedades do parâmetro
| Tipo: | SwitchParameter |
| Valor padrão: | None |
| Dá suporte a curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
Default
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
-Verb
Especifica um verbo a ser usado quando este cmdlet inicia o processo. Os verbos disponíveis são determinados pela extensão de nome de arquivo do arquivo executado no processo.
A tabela a seguir mostra os verbos de alguns tipos de arquivo de processo comuns.
| Tipo de arquivo | Verbos |
|---|---|
| .cmd | Editar, Abrir, Imprimir, ExecutarAs, RunAsUser |
| .exe | Abrir, RunAs, RunAsUser |
| .txt | Abrir, Imprimir, ImprimirTo |
| .wav | Abrir, Reproduzir |
Para localizar os verbos que podem ser usados com o arquivo executado em um processo, use o cmdlet
Propriedades do parâmetro
| Tipo: | String |
| Valor padrão: | None |
| Dá suporte a curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
UseShellExecute
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
-Wait
Indica que esse cmdlet aguarda o processo especificado e seus descendentes serem concluídos antes de aceitar mais entradas. Esse parâmetro suprime o prompt de comando ou mantém a janela até que os processos sejam concluídos.
Propriedades do parâmetro
| Tipo: | SwitchParameter |
| Valor padrão: | None |
| Dá suporte a curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
(All)
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
-WindowStyle
Especifica o estado da janela usada para o novo processo. Os valores aceitáveis para esse parâmetro são: Normal, Oculto, Minimizado e Maximizado. O valor padrão é Normal.
Você não pode usar os parâmetros WindowStyle e NoNewWindow no mesmo comando.
Propriedades do parâmetro
| Tipo: | ProcessWindowStyle |
| Valor padrão: | None |
| Valores aceitos: | Normal, Hidden, Minimized, Maximized |
| Dá suporte a curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
(All)
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
-WorkingDirectory
Especifica o local do arquivo executável ou documento executado no processo. O padrão é a pasta do novo processo.
Propriedades do parâmetro
| Tipo: | String |
| Valor padrão: | None |
| Dá suporte a curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
(All)
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
CommonParameters
Este cmdlet suporta os parâmetros comuns: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction e -WarningVariable. Para obter mais informações, consulte about_CommonParameters.
Entradas
None
Não é possível redirecionar a entrada para este cmdlet.
Saídas
None, System.Diagnostics.Process
Esse cmdlet gerará um objeto
Observações
- Esse cmdlet é implementado usando o método Iniciar da classe System.Diagnostics.Process. Para obter mais informações sobre esse método, consulte Método Process.Start.