C'è un cmdlet in PowerShell 2 di gestire le modifiche IPSec?
-
19-09-2019 - |
Domanda
Sto usando System.Management.Automation di costruire un programma che funge da firewall, in sostanza, e mi chiedevo se esiste un cmdlet specifico PowerShell 2 per gestire le modifiche IPSec per un server? (Vale a dire, che duplica netsh funzionalità IPSec)?
O avrei dovuto scriverne uno? : P
spero in una soluzione più pulita di chiamare un [diagnostics.process] all'interno del PowerShell codice per gestire le query netsh, e pensato un cmdlet sarebbe meglio.
Qualcuno ha qualche consiglio o trucchi? O devo solo iniziare a scavare attraverso la 'Scrivi Windows PowerShell cmdlet' documentazione all'indirizzo:
http://msdn.microsoft.com /en-us/library/dd878294%28VS.85%29.aspx
Grazie per tutte le idee!
Soluzione
Purtroppo in questo momento, non ci sono i cmdlet di PowerShell nativi che forniscono funzionalità simili a netsh.
Detto questo, non avrebbe dovuto accendere un nuovo processo per eseguire comandi netsh in una funzione PowerShell. È possibile eseguire qualsiasi exe normalmente si corre in CMD in una funzione PS o script inline proprio come si farebbe con un cmdlet. È possibile salvare l'output in una variabile ed elaborare il testo con select-stringa o l'operatore -match.
A titolo di esempio
Function Get-NetShIPInterface {
netsh int ip show int
}
$interface = Get-NetshIPinterface
$interface | select-string "Local Area Connection"
Alla fine avremo networking cmdlet, ma per ora, netsh può ottenere il lavoro fatto.