Собираем однострочники из многострочного скрипта PS
Необходимо управлять ICS из пакетного сценария командной строки, но не нашел подходящего консольного инструмента. Но нашел скрипт powershell, который выполняет такую задачу. Проблема в том, что сценарий является многострочным, и, поскольку у меня нет опыта работы с PS, я ищу кого-то, кто мог бы создать несколько однострочных строк из такого сценария, чтобы легко запустить пакетный сценарий trhough и проанализировать его вывод. Нужны следующие лайнеры:
- Список адаптеров с включенным ICS
- Включить ICS для определенных интерфейсов
- Отключить ICS на определенном интерфейсе
Кто-нибудь может мне с этим помочь?
1 ответ
Решение
Зачем им нужно быть однострочниками? Ни один из них не подходит для однострочников, например, ваш первый может выглядеть так.
(New-Object -ComObject HNetCfg.HNetShare -OutVariable netshare).EnumEveryConnection | foreach {[PSCustomObject]@{Interface = $netshare.NetConnectionProps.Invoke($_).name; ICSEnabled = $netshare.INetSharingConfigurationForINetConnection.invoke($_).sharingenabled}}