Я использую Linux в течение многих лет, а недавно я присоединился к новой организации, вся инфраструктура которой основана на Windows Server 2012R2. С тех пор я изучаю PowerShell, и я нахожу его очень мощным, представление о том, что все в ОС - это объект, экономит много времени на синтаксический анализ текста, как в Linux.
В процессе изучения серверов Windows Server время от времени я сталкиваюсь с WMI и нахожу, что это очень сложная концепция, и многие вещи, которые можно сделать в WMI, также можно сделать в PowerShell (без Get-WmiObject
CmdLet), но более простым и приятным способом.
Мне очень интересно узнать, постепенно ли Microsoft отходит от WMI и сосредотачивается только на PowerShell? Также, пожалуйста, ветераны Windows, посоветуйте, стоит ли тратить время на изучение WMI или PowerShell (его существующий и новый CmdLets) превзойдет теневой WMI?
PowerShell - это то, что вам нужно.
WMI неплох, но он все еще работает, потому что вы можете использовать фильтр WMI в своей групповой политике и получать оттуда диагностические данные.
За весь год, когда я был MVP, у меня ни разу не было конференций, посвященных WMI, но о PowerShell говорят повсюду.
Если вы сдадите учебный экзамен, например сертификацию, они также проверит ваши знания PowerShell. Некоторое время назад я делал MCT, и вопрос был такой: по этим 4 командам powershell, что лучше всего делать с X. Вы никогда не будете протестированы против графического интерфейса на экзамене
WMI / CIM никуда не денется. Многие командлеты Powershell являются оболочками для функций WMI.
WMI часто бывает сложно обрабатывать, командлеты Powershell упрощают работу, если они доступны. Но если командлет PS недоступен, вам может понадобиться «сырой» WMI / CIM.
См. Фрагмент ниже, например, объект, возвращаемый Get-Disk, является WMI:
get-disk|gm
TypeName: Microsoft.Management.Infrastructure.CimInstance#ROOT/Microsoft/Windows/Storage/MSFT_Disk