Pregunta

Estoy usando System.Management.Automation para construir un programa que sirva como firewall, esencialmente, y me preguntaba si hay un cmdlet específico en PowerShell 2 para manejar los cambios IPSEC para un servidor. (es decir, eso duplica la funcionalidad NetSH IPSEC)?

¿O tendría que escribir uno? :PAGS

Espero una solución más limpia que llamar a un [diagnóstico.

¿Alguien tiene algún consejo o trucos? O debería comenzar a cavar a través de la documentación de 'escribir un cmdlet de Windows PowerShell' en:

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

¡Gracias por cualquier idea!

¿Fue útil?

Solución

Desafortunadamente en este momento, no hay cmdlets nativos de PowerShell que proporcionen una funcionalidad similar a NetSH.

Dicho esto, no tendría que encender un nuevo proceso para ejecutar comandos NetSH en una función de PowerShell. Puede ejecutar cualquier exe que normalmente ejecute en CMD en una función PS o script en línea tal como lo haría con un cmdlet. Puede guardar la salida en una variable y procesar el texto con Select -String o el operador -match.

Justo como ejemplo

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

Eventualmente obtendremos cmdlets de red, pero por ahora, Netsh puede hacer el trabajo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top