Является ли Vanilla Powershell достаточным языком для администраторов Windows и серверов БД?

8

Достаточно ли достаточно для чистой установки PowerShell для администрирования среды домена Windows и / или серверов SQL?

Если нет, то что за хорошие, бесплатные или платные сторонние дополнения?

MotoWilliams
источник

Ответы:

8

Чтобы ответить на этот вопрос, вам нужно уменьшить масштаб и спросить, что означает администрирование Windows и SQL-серверов. Например, сколько из этих других вещей у вас есть в вашей среде:

  • Сторонние продукты для резервного копирования, такие как NetBackup или BackupExec
  • Антивирусные продукты
  • Инструменты для хранения
  • Брандмауэры или программное обеспечение для веб-фильтрации
  • Аппаратное оповещение (например, IBM Director или HP SIM)

Все эти вещи имеют свои собственные механизмы управления, и поскольку PowerShell все еще относительно нов, не все службы будут поддерживать PowerShell. На данный момент вам может потребоваться выйти из PowerShell, чтобы управлять такими вещами.

С другой стороны, нет другого языка, который лучше работает во всех этих инструментах Windows.

Когда вы говорите «функциональность для администрирования серверов», это еще не от языка Windows. В мире * nix вы можете оставаться в среде сценариев, но мир Windows еще не совсем там.

Брент Озар
источник
2
Я не согласен. Я думаю, что PowerShell содержит функциональные возможности для «администрирования серверов», и там, где может отсутствовать определенный командлет, он все равно может использовать преимущества существующих консольных приложений, приложений COM и сборок .NET. Некоторые из них потребуют работы по разработке решения, но чем дольше PowerShell выйдет, тем более изысканными будут доступны решения.
Стивен Муравски
Правильно, как вы сказали, для разработки собственного решения все равно потребуется работа. Мы приближаемся к тому дню, когда вам никогда не придется выходить из PowerShell, чтобы выполнять свою работу, но мы еще не пришли, согласитесь?
Брент Озар
Я гораздо ближе к согласию с этим. Возможно, я зациклен на семантике, но «оставить» PowerShell для меня означает оставить оболочку, сценарий или хост, что не является необходимым. Если мы определяем «уход» PowerShell как отход от командлетов, то я согласен. :)
Стивен Муравски
Я не уверен, что согласен. Если вы можете администрировать с помощью WSH, Perl или C # (через WMI, Windows API, сторонние библиотеки и т. Д.), Вы можете сделать то же самое в PowerShell с тем же или меньшим кодом.
Клин
Правильно - вы не можете администрировать Windows полностью на ЛЮБОМ языке, как я уже сказал. «Нет другого языка, который бы работал лучше во всех этих инструментах Windows». Это то, что я сказал.
Брент Озар
4

Ответ на ваш первый вопрос - громкое «ДА».

Для управления существующим доменом Windows «ванильный» PowerShell (без дополнительных оснасток) предоставляет готовую поддержку WMI, ADSI, COM и .NET.

Управление удаленными машинами осуществляется через WMI (или COM / .NET в зависимости от варианта использования).

Управляющий SQL Server может использовать библиотеки SMO ​​( идеи см. В SQL Server PowerShell Extensions ). Вы можете получить доступ к данным через ADO.NET.

Ответ на вторую часть вашего вопроса о том, что такое хорошие сторонние дополнения, действительно зависит от того, что вам нужно сделать. Как отметил Джон Кук, расширения сообщества PowerShell являются отличным дополнением. Есть много, много других. PowerShellCommunity.Org содержит множество отличных ссылок на сторонние продукты, а Codeplex предлагает множество проектов PowerShell с открытым исходным кодом.

Все больше продуктов Microsoft добавляют поддержку PowerShell (например, SQL Server 2008, Exchange, Active Directory и т. Д.)

V2 (который приближается) содержит некоторые замечательные возможности удаленного взаимодействия и фоновой работы.

Стивен Муравски
источник
3

Powershell не поставляется с инструментами администрирования SQL, хотя вы можете продолжать использовать такие вещи, как osql или isql. Я знаю, что есть надстройки Powershell, которые позволяют вам «монтировать» SQL-сервер и перемещаться по нему, как если бы это была файловая система (очень похоже на встроенный компонент Registry).

Брэд Уилсон
источник
1
Начиная с SQL Server 2008, существуют собственные командлеты PowerShell и поставщик.
Стивен Муравски
2

Расширения сообщества PowerShell ( PSCX ) бесплатны и удобны в использовании.

Джон Д. Кук
источник
1

Сам по себе и PowerShell недостаточно.

Но PowerShell не одинок, и вы тоже. Существуют такие расширения, как упоминание Джона Д. Кука, а также активное сообщество, делящееся тем, что они узнали об этом.

Он прост и постоянно расширяется и предоставляет вам доступ к объектам COM и .NET, необходимым для администрирования всего, что вам нравится.

Джон Сондерс
источник
0

Я действительно обнаружил, что оснастка Quest ActiveRoles очень полезна для работы с Active Directory и управления ею. Вы можете получить оснастку здесь , но я думаю, что этот пост отлично справляется с объяснением, что это такое, как его настроить и как его использовать.

Abs
источник
0

Как администратор базы данных в довольно большой среде, мое мнение - ДА. Мы создали целую среду мониторинга и обслуживания MS SQL Server, используя только PowerShell 1.0. Эта система автоматизирует ежедневный мониторинг емкости, а также автоматизирует обслуживание индекса резервного копирования и т. Д.

Jagoop
источник