从多行PS脚本组装oneliners

问题描述

需要从命令行批处理脚本操作ICS,但找不到合适的控制台工具。但是发现powershell script可以完成这样的任务。问题是脚本是多行的,并且由于我对PS零经验,正在寻找一个可以从此类脚本中创建少量内联代码以轻松运行批处理脚本并解析其输出的人。需要以下单线:

  • 列出启用了ICS的适配器
  • 为特定接口启用ICS
  • 在特定界面上禁用ICS

有人可以帮我吗?

解决方法

为什么他们在地球上需要成为一线客?这些都不适合单线,例如您的第一个看起来像这样。

(New-Object -ComObject HNetCfg.HNetShare -OutVariable netshare).EnumEveryConnection | foreach {[PSCustomObject]@{Interface = $netshare.NetConnectionProps.Invoke($_).name; ICSEnabled = $netshare.INetSharingConfigurationForINetConnection.invoke($_).sharingenabled}}