Domanda

Ciao io sono abbastanza nuovo per Powershell ma ho dubbio uno insignificante. Voglio essere in grado di dire se un comando ha completato con successo in modo da poter dare messaggi significativi di host.

Sto usando il comando appcmd per aggiungere un binding in IIS. In sostanza, che va come segue:

./appcmd set site /site.name:........................

Ma come posso fare un controllo per assicurarsi che ha avuto successo o no?

Credo che se ho appena messo Write-Host "Successfully added binding" dopo quella dichiarazione che sparerà dopo prescindere se la appcmd ha avuto successo.

Sto indovinando che ho bisogno di fare qualcosa di simile:

$successful = ./appcmd set site /site.name:........................

ma poi $successful sembra essere una stringa contenente il risultato msg?

Grateful qualsiasi aiuto su questo! Acclamazioni

È stato utile?

Soluzione

Supponendo appcmd è un exe console, anche se gli errori, la prossima riga dello script verrà eseguito.

Se si desidera verificare se il file EXE errored e il file EXE utilizza il codice 0 di uscita standard per indicare il successo, poi basta controllare la variabile speciale $? destra dopo aver chiamato il file EXE. Se è $ true, quindi il file EXE ha restituito un codice di uscita 0.

Se il file EXE è non standard in termini di codice di uscita restituisce per il successo (forse ha più codici di successo) quindi ispezionare $LastExitCode per ottenere il codice esatto di uscita dell'ultimo EXE restituito.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top