PowerShell 2 中是否有一个 cmdlet 可以处理 ipsec 更改?

2023-12-10

我正在使用 System.Management.Automation 构建一个本质上充当防火墙的程序,我想知道 PowerShell 2 中是否有特定的 cmdlet 来处理服务器的 ipsec 更改? (即,重复 netsh ipsec 功能)?

或者我必须写一篇? :P

我希望有一个比在 PowerShell 代码中调用 [diagnostics.process] 来处理 netsh 查询更干净的解决方案,并且认为 cmdlet 会更好。

有人有任何提示或技巧吗?或者我应该开始深入研究“编写 Windows PowerShell cmdlet”文档:

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

感谢您的任何想法!


不幸的是,目前还没有任何本机 powershell cmdlet 可以提供与 netsh 类似的功能。

话虽这么说,您不必启动新进程即可在 PowerShell 函数中运行 netsh 命令。您可以在 PS 函数或内联脚本中运行通常在 CMD 中运行的任何 exe,就像运行 cmdlet 一样。您可以将输出保存到变量并使用 select-string 或 -match 运算符处理文本。

举个例子

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

最终我们将获得网络 cmdlet,但目前,netsh 可以完成这项工作。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PowerShell 2 中是否有一个 cmdlet 可以处理 ipsec 更改? 的相关文章

随机推荐