Я много лет экспериментировал с PowerShell и не нашел места, где я не мог бы легко выполнить работу с помощью Python/Cygwin/WMIC/DoS (последнее можно читать как пакетную версию Windows).
Возможно, это просто знакомство с этими инструментами, но я нигде не видел, чтобы это было действительноНУЖДАТЬСЯиспользовать PowerShell.
решение1
Видетьэта почтана SO, который постепенно становится каноническим ответом на этот вопрос.
решение2
Если вы администратор и собираетесь в ближайшем будущем управлять серверными приложениями Microsoft - вам нужно будет изучить powershell. Вот так вот ^^
Большинство новых систем, которые они выпускают, управляются с помощью PowerShell и медленных пользовательских интерфейсов, построенных на них, которые часто довольно бесполезны, и все они работают, выдавая командлеты PowerShell в фоновом режиме. Как RainyRat уже указал на Exchange 2007 - примените эту концепцию к любой готовящейся или недавно выпущенной системе Microsoft, и картина станет более ясной.
Но, конечно, для регулярного обслуживания скриптов старых или существующих систем сегодня он пока не взлетел. По крайней мере, не в моей книге - в основном потому, что вы часто хотите поддержки всего, что вы делаете во многих старых системах, таких как Windows 2003/XP, без необходимости развертывания нового "движка". Когда платформы будут обновлены до 2008+ и Win7+, он может стать более полезным и в этом отношении.
решение3
Для обычных административных дел? Нет, пока нет — .BAT или (с натяжкой) VBScript все еще справляются со своей работой. Однако для управления Exchange 2007 он быстро становится для меня незаменимым. В Ex07 есть целый ряд вещей, которые вы на самом деле не можете сделать никаким другим способом, потому что для них еще не написаны биты GUI.
решение4
Обычно я использую VBScript для задач управления. Однако в конечном итоге вы полагаетесь на COM-серверы для выполнения чего-либо сложного, многие из которых не являются стандартными для Windows, поэтому вам приходится покупать (и не забывать устанавливать) сторонние COM-серверы. В частности, x64 вызывает проблемы, поскольку все мои COM-серверы 32-битные, поэтому мне приходится запускать x86-версию cscript из \windows\syswow64.
Я пробовал использовать C#, но он компилируется, а не интерпретируется, поэтому с ним больше хлопот, и для простых задач требуются изрядные накладные расходы (программиста).
Я далек от совершенства в Powershell, но то, что он мне предлагает, — это универсальный магазин для всего. Стандартные командлеты довольно полны, и он довольно хорошо интегрируется с .Net, когда вам нужно что-то более необычное.
Прит, в своем посте ты ссылаешься на использование "немного python/cygwin/wmic/dos". Ну, я тоже, но это четыре решения, и ты можешь заменить их все, изучив Powershell. Будут еще сложные скрипты, которые я, вероятно, буду делать на VBScript, но Powershell может сделать большую часть того, что мне нужно.
Дж.Р.