які переваги Powershell перед cygwin / unix-shell


9

Очевидною різницею, яку я знаю, є можливість інтерфейсу до певних продуктів MS, таких як Exchange. Але для тих, хто не потребує введення таких продуктів, які переваги Powershell? Які причини взагалі навчитися Powershell (якщо припустити, що я добре володію баш та цигуїном)?

Відповіді:



18

Найбільш очевидна перевага: Поки жоден вихід тексту (або застаріла команда) не бере участь у конвеєрі, ви рухаєте не текст через труби, а екземпляри .NET рамкових об'єктів з усіма їх властивостями та методами.

Це дає можливість більш виразного та менш неоднозначного поводження з конвеєром, що також повністю не впливає на параметри мови та мови (наприклад, придумайте формати дати чи чисел та те, як вам доведеться нормально ставитися до них як до рядків).

Це також означає, що у вас є доступ до великої кількості можливостей .NET Framework в сценаріїв.


6

Не враховуючи ціннісні судження про парадигму, головними перевагами PowerShell є .Net інтеграція та постійне використання - від сервера Windows 2008 далі він постачається за замовчуванням і завантажується в пакети оновлень на 2003 та 2003 R2.

Для справедливості, існує кілька інших варіантів сценаріїв - наприклад, Perl і Python. Python також надає вам можливість використовувати IronPython, якщо ви хочете мати рідну .Net інтеграцію. Насправді, IronPython буде встановлений задовільно, просто скинувши його в каталог. Ви можете тривіально поєднати його у програмі, не потребуючи окремого кроку встановлення.

Ключова сила Пауершелла - трохи меч з двома кінцями. Хоча потокова передача об’єктів .net є досить корисною і має свої переваги, вона ставить набагато більше припущень щодо здатності компонентів добре грати з рамкою. Щоб це справді працювало, потрібно обернути речі командлетами. Хоча текстовий вихід дещо нижчий рівень і вимагає розбору, він накладає менше навантаження на компоненти, щоб добре грати з рамкою.

З часом я би сподівався побачити, що набагато більше екосистеми Windows (як MS, так і сторонні компоненти) оснащуються обгортками cmdlet, щоб вони працювали з Powershell. Як це станеться, випадок для Powershell стане набагато сильнішим.

Історично однією з ключових традиційних слабких місць Windows з адміністративної точки зору була погана підтримка сценаріїв. МС визнали це кілька років тому і після кількох кульгавих спроб (наприклад, WSH) Powershell - це найбільш надійне зусилля МС до цих пір, щоб виправити цей недолік.


2

Я думаю, що найбільша виграш для powerhell полягає в тому, що ви можете підключити що завгодно до чого завгодно, не розбираючи текст та / або grok sed and awk. Не вводячи ці неприємні предмети в рівномірний стан, подумайте, що в shellhell є автоматичний sed і awk для з'єднання команд у конвеєрі.


2

Переваги: ​​-

  1. Автоматизація завдань: - Такі завдання, як додавання користувача до 1000 машин, - втомлива робота вручну. Але за допомогою пауершелла потрібно написати просто простий скрипт, і цей сценарій буде запущений, він автоматично налаштує всіх клієнтів. Таким чином, це економить час, повторюючи дії автоматично. Сценарії резервного копіювання \ відновлення Windows PowerShell можуть бути розроблені та заплановані (за допомогою планувальника завдань Windows), тоді як центральне управління використовується для резервного копіювання та відновлення одноразового використання. Windows PowerShell має перевагу в застосуванні до знімків SQL замість виробничої бази даних. Один з параметрів команди Windows PowerShell спричинить згенерування знімків SQL, і тоді Windows PowerShell запустить дію проти знімка замість виробничої бази даних. Це зменшить ресурсний вплив операції резервного копіювання на виробниче середовище. З Windows PowerShell адміністратори SharePoint матимуть більш детальний контроль параметрів резервного копіювання чи відновлення.

  2. Вдосконалення можливостей віддалення: - Значення двояке, по-перше, настільні комп'ютери Windows 7 можуть спілкуватися з сервером за допомогою команд PowerShell. Як результат, техники із ноутбуками Windows 7 можуть віддалено налаштувати свої сервери, запустивши сценарії PowerShell. По-друге, сценарії для входу в клієнт, написані в PowerShell, які знаходяться на сервері, можуть легше працювати в Windows 7. Також, використовуючи powerhell, ми можемо легко керувати віддаленими машинами, можемо виконувати на них важливі завдання та легко застосовувати ці зміни у великому масштабі. Видалення використовує мережеві ресурси. Отже, коли ми працювали б із силою, ми не використовуємо графічний інтерфейс, отже, пропускна здатність, необхідна для певного завдання, зменшується, і проблема перевантаження мережі вирішується.

  3. Послідовність: - Якщо у вас є встановлена ​​процедура для виконання завдання, за допомогою Windows Powershell переконайтеся, що ви ніколи не пропустите крок, автоматизуйте наскільки це можливо, і Powershell запропонує вам інформацію про речі, які неможливо автоматизувати.

  4. Підтримка .NET: - Powershell підтримує рамки .NET. Тому всі системні функції можна легко додати до сценаріїв оболонок повноважень, і, таким чином, це допомога програмісту в розробці сценаріїв. Таким чином автоматизація завдань VDI набагато простіша, простіша та ефективніша.

  5. Менше ручної роботи: - Тепер адміністратор може віддалено створювати, видаляти або змінювати налаштування Віртуальних машин, просто записуючи сценарії. Йому немає необхідності ходити на окремі ПК та виконувати роботу. Також написані сценарії прийнятні на всіх комп'ютерах. Тож адміністратору не потрібно переписувати їх знову і знову.

  6. Повторність використання: - Сценарії, написані один раз для виконання певного завдання, можуть бути збережені для наступних цілей, а також можуть бути комбіновані з іншими сценаріями для виконання різних завдань. Тож завдання, що повторюються, можна виконувати набагато простіше, просто запустивши сценарії. Це економить адміністраторам час та гроші на налаштування машин.

  7. Підтримка трубопроводів: - Найбільша виграш для силового корпусу полягає в тому, що ви можете підключити будь-що до чого, без розбору тексту. Ви можете надати результат однієї команди як вхід до нового набору і таким чином можна вирішити складні завдання.


0

Не гарантується, що Cygwin буде доступний для кожної версії Windows. Востаннє я перевірив, що це сумнівно на 64-бітних машинах. Powershell стає командною оболонкою за замовчуванням для Windows, і запропонує "рідний" доступ до всіх ресурсів на машині Windows.


Я використовую cygwin на 64-бітній Vista, працює чудово.
lajos
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.