2011-12-07 4 views

risposta

25

quello che dovete fare:

$test = & $Env:WinDir\system32\inetsrv\appcmd.exe 

Se si voleva per reindirizzare l'errore così, aggiungere 2>&1 alla fine.

+0

Grande, grazie! – Houman

+0

Un'altra cosa, potrebbe $ test essere una matrice o lista invece? Sarebbe bello aggiungere a una raccolta quando si esegue un comando e alla fine potrei semplicemente scorrere la collezione e aggiungerli al corpo della posta elettronica? – Houman

+0

Penso che puoi lanciarlo su un array: [string []] $ test = & $ Env: WinDir \ system32 \ inetsrv \ appcmd.exe –

4

Catturare l'output di un file eseguibile è semplice come,

$cmdOutput = &"Application.exe" 2>&1 

2> & 1 - Include il flusso di errore nell'uscita

tipo di ritorno del file eseguibile in PowerShell è una serie di stringhe . In caso di registrazione di tali uscite,

Write-Host $cmdOutput 

stamperà le stringhe nella matrice al flusso di output separati da spazi

stamparli in una stringa per linea di moda, scegliere

Write-Output $cmdOutput 

o

$cmdOutput = &"Application.exe" | Out-String 
Write-Host $cmdOutput 
Problemi correlati