Есть ли командлет в PowerShell 2 для обработки изменений IPSec?

StackOverflow https://stackoverflow.com/questions/1703205

  •  19-09-2019
  •  | 
  •  

Вопрос

Я использую System.Management.Automation для создания программы, которая, по сути, служит брандмауэром, и мне было интересно, есть ли конкретный командный директор в PowerShell 2 для обработки изменений IPSEC для сервера? (т.е. этот дубликат функциональности Netsh Ipsec)?

Или мне придется написать один? :П

Я надеюсь на более чистое решение, чем вызов [Diagnostics.process] в коде PowerShell для обработки запросов Netsh, и решил, что командный директор будет лучше.

У кого -нибудь есть какие -нибудь советы или хитрости? Или я должен просто начать копать документацию «Написание командной команды Windows PowerShell» по адресу:

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

Спасибо за любые идеи!

Это было полезно?

Решение

К сожалению, в настоящее время нет никаких местных командлетов PowerShell, которые обеспечивают аналогичную функциональность Netsh.

При этом вам не придется запускать новый процесс для запуска команд Netsh в функции PowerShell. Вы можете запустить любой EXE, который обычно запускаете в CMD в функции PS или встроенного сценария, так же, как и командлет. Вы можете сохранить выход с переменной и обработать текст с помощью Select String или оператора -match.

Как пример

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

В конце концов мы получим сетевые командлеты, но сейчас Netsh может выполнить работу.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top