É possível executar programas de linha de comando do Windows no Windows PowerShell e iniciar programas do Windows que têm uma interface gráfica do usuário, como o Bloco de Notas e a Calculadora, no prompt do Windows PowerShell. Você também pode capturar o texto que programas do Windows geram e usar esse texto no Windows PowerShell.
Por exemplo, os comandos a seguir usam os comandos do Windows IPConfig, Net e Shutdown.
C:\PS> net localgroup administrators /add domain01\user01 The command completed successfully. C:\PS> ipconfig Windows IP Configuration Ethernet adapter Local Area Connection: Connection-specific DNS Suffix . : domain.corp.fabricam.com IP Address. . . . . . . . . . . . : 142.20.152.115 Subnet Mask . . . . . . . . . . . : 255.255.252.0 Default Gateway . . . . . . . . . : 172.30.180.1 C:\PS> shutdown -r
Você pode até mesmo usar cmdlets do Windows PowerShell, como Select-String, para manipular o texto retornado por programas do Windows.
Por exemplo, o comando a seguir usa um operador de pipeline para enviar os resultados de um comando IPConfig para o cmdlet Select-String do Windows PowerShell, que procura texto em cadeias de caracteres. Nesse caso, use Select-String para localizar o padrão "255" na saída de IpConfig.
C:\PS> ipconfig | select-string -pattern 255 Subnet Mask . . . . . . . . . . . : 255.255.252.0
Quando um comando ou uma ferramenta do Windows tem parâmetros, como o parâmetro "- r" (reinicialização) de Shutdown, o Windows PowerShell passa os parâmetros para a ferramenta sem interpretá-los.
Porém, se a ferramenta usar uma palavra reservada do Windows PowerShell ou usar um formato de comando não conhecido do Windows PowerShell, como o parâmetro "- D:debug=false" de Nant (interpretado pelo Windows PowerShell como dois parâmetros: "- D" e "debug=false"), coloque os parâmetros entre aspas para indicar ao Windows PowerShell que ele deve enviá-los sem interpretação.