Pergunta

Estou usando o System.Management. (ou seja, que duplica a funcionalidade Netsh IPSec)?

Ou eu teria que escrever um? : P

Espero uma solução mais limpa do que chamar um [diagnóstico.process] dentro do código PowerShell para lidar com as consultas da Netsh, e imaginei que um cmdlet seria melhor.

Alguém tem alguma dica ou truque? Ou devo apenas começar a cavar a documentação 'Writing a Windows PowerShell cmdlet' em:

http://msdn.microsoft.com/en-us/library/dd878294%28vs.85%29.aspx

Obrigado por quaisquer idéias!

Foi útil?

Solução

Infelizmente, neste momento, não há nenhum cmdlets nativo do PowerShell que forneça funcionalidade semelhante ao NETSH.

Dito isto, você não precisaria iniciar um novo processo para executar comandos NETSH em uma função PowerShell. Você pode executar qualquer exe que você execute em CMD em uma função PS ou script inline, assim como faria com um cmdlet. Você pode salvar a saída em uma variável e processar o texto com o String Select ou o operador -Match.

Apenas como um exemplo

Function Get-NetShIPInterface {
netsh int ip show int
}
$interface = Get-NetshIPinterface
$interface | select-string "Local Area Connection"

Eventualmente, obteremos cmdlets de rede, mas, por enquanto, a Netsh pode fazer o trabalho.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top