Question

J'utilise System.Management.automation pour construire un programme qui sert de pare-feu, essentiellement, et je me demandais s'il y avait une applet de commande spécifique dans PowerShell 2 pour gérer les modifications IPSEC pour un serveur? (c'est-à-dire que cela duplique la fonctionnalité IPSec netsh)?

Ou devrais-je en écrire un? : P

J'espère une solution plus propre que d'appeler un [Diagnostics.process] dans le code PowerShell pour gérer les requêtes de netsh, et je pense qu'une applet de commande serait meilleure.

Quelqu'un a-t-il des conseils ou des astuces? Ou devrais-je commencer à creuser dans la documentation «écrire une documentation Windows PowerShell» à:

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

Merci pour toutes les idées!

Était-ce utile?

La solution

Malheureusement, pour le moment, il n'y a pas de cmdlettes PowerShell indigènes qui fournissent des fonctionnalités similaires à netsh.

Cela étant dit, vous n'auriez pas à déclencher un nouveau processus pour exécuter les commandes netsh dans une fonction PowerShell. Vous pouvez exécuter n'importe quel EXE que vous exécutez normalement dans CMD dans une fonction PS ou un script en ligne comme vous le feriez pour une applet de commande. Vous pouvez enregistrer la sortie dans une variable et traiter le texte avec SELECT-STRING ou l'opérateur -match.

Comme exemple

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

Finalement, nous obtiendrons des applets de commande de réseautage, mais pour l'instant, netsh peut faire le travail.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top