что является преимуществами Powershell перед cygwin/unix-shell

Иногда Вы хотите найти файлы на определенном уровне каталога. В этом случае может быть удобно использовать подстановочные знаки оболочки:

ls /data/*/example.filename

, Очевидно, это только работает, если у Вас есть твердая структура каталогов.

9
задан 6 May 2009 в 11:08
6 ответов

Существует превосходный ответ от Jeffrey Snover (разработчик PowerShell) на StackOverflow:

https://stackoverflow.com/questions/573623/#573861

2
ответ дан 2 December 2019 в 22:19

Не входя в субъективные оценки о парадигме основными преимуществами PowerShell является интеграция .NET и должность - с сервера Windows 2008 вперед это связывается по умолчанию, и это загружается в обслуживании пакеты на 2 003 и 2 003 R2.

Честно говоря, существует несколько других вариантов для сценариев - например, Perl и Python. Python также дает Вам опцию использования IronPython, если Вы хотите собственную интеграцию .NET. На самом деле IronPython установит удовлетворительно, просто отбросив его в каталоге. Можно тривиально связать его в приложении без потребности в отдельном действии по установке.

Ключевая сила Powershell является чем-то вроде обоюдоострого меча. В то время как потоковая передача объектов .NET довольно полезна и имеет свои преимущества, она помещает намного больше предположений в способность компонентов играть приятно с платформой. Чтобы это действительно работало, необходимо перенести вещи с cmdlets. В то время как текстовый вывод является несколько большим низким уровнем и требует парсинга, он помещает меньше нагрузки в компоненты для проигрывания приятно с платформой.

Со временем я ожидал бы видеть, что намного больше экосистемы Windows (и MS и сторонние компоненты) идет с cmdlet обертками, таким образом, они работают с Powershell. Поскольку это происходит, случай для Powershell станет намного более сильным.

Исторически, одни из ключевых традиционных слабых мест Windows с административной точки зрения были своей плохой поддержкой сценариев. MS распознал это много лет назад и после нескольких хромых попыток (например, WSH), Powershell является самым вероятным усилием MS до сих пор для фиксации того дефицита.

6
ответ дан 2 December 2019 в 22:19

Самое очевидное преимущество: пока никакой текстовый вывод (или команда прежней версии) не вовлечен в конвейер, Вы не перемещаете текст через каналы, но экземпляры объектов платформы.NET, со всеми их свойствами и методами.

Это позволяет, чтобы более выразительный и менее неоднозначный конвейер обработал, это также абсолютно непредубежденно локалью и настройками языка (например, думайте о форматах даты или числовых форматах и как необходимо было бы рассматривать их как строки обычно).

Это также означает, что у Вас есть доступ к большому количеству возможностей платформы.NET в среде сценариев.

18
ответ дан 2 December 2019 в 22:19

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

0
ответ дан 2 December 2019 в 22:19
  • 1
    Я использую cygwin на Vista на 64 бита, работы отлично. –  lajos 24 May 2009 в 06:07

Я думаю, что самая большая победа для powershell - то, что можно передать что-либо по каналу к чему-либо, не имея необходимость анализировать текст и/или grok sed и awk. Не принося те противные объекты в уравнение, думайте о powershell как о наличии автоматического sed и awk для соединения команд в конвейере.

2
ответ дан 2 December 2019 в 22:19

Преимущества:-

  1. Автоматизация Задач:-Задачи, такие как добавление пользователя к 1 000 машин является утомительным заданием вручную. Но с помощью powershell, необходимо записать просто простой сценарий, и тот скрипт запущен, он автоматически настроит все клиенты. Таким образом это экономит время путем повторения шагов автоматически. Сценарии Windows PowerShell backup\restore могут быть разработаны и запланированы (с Windows Task Scheduler), тогда как Централизованное администрирование используется для резервных копий единственного использования и восстановлений. Windows PowerShell имеет преимущество выполнения против снимков SQL вместо производственной базы данных. Один из параметров команды Windows PowerShell заставит снимок SQL быть сгенерированным, и затем Windows PowerShell выполнит действие против снимка вместо производственной базы данных. Это уменьшит влияние ресурса операции резервного копирования на продуктивной среде. С Windows PowerShell у администраторов SharePoint будет более тонкая настройка опций для резервного копирования или восстановления.

  2. Улучшение возможностей дистанционной работы:-значение является двукратным, во-первых, рабочие столы Windows 7 могут общаться с использованием сервера команды PowerShell. В результате техники с ноутбуками Windows 7 могут настроить свои серверы удаленно путем запущения скриптов PowerShell. Во-вторых, клиентские сценарии входа в систему, записанные в PowerShell, которые находятся на сервере, могут работать на Windows 7 более легко. Также с помощью powershell, мы можем легко управлять удаленными машинами, можем выполнить важные задачи на них и можем легко применить эти изменения в крупном масштабе. Дистанционная работа использует сетевые ресурсы. Таким образом, когда мы работали бы с powershell, мы не используем GUI и следовательно, пропускная способность, требуемая для определенной задачи, уменьшается, и проблема перегрузки сети решена.

  3. Непротиворечивость:-, Если у Вас есть процедура набора того, чтобы выполнить задачу, с помощью Windows Powershell, удостоверится, что Вы никогда не пропускаете шаг, автоматизируете столько, сколько Вы можете, и сделать, чтобы Powershell предложил Вам материал, который не может быть автоматизирован.

  4. Поддержка.NET:-Powershell поддерживает платформу.NET. Поэтому все системные функции могут быть легко добавлены к powershell сценариям и таким образом являются помощью программисту в разработке сценариев. Таким образом автоматизация задач VDI намного легче, более проста и эффективна.

  5. Меньше физического труда:-Администратор может теперь создать, удалить или изменить настройки Виртуальных машин удаленно просто пишущий сценарии. У него нет потребности перейти к отдельному ПК и сделать работу. Также записанные сценарии приемлемы на всех компьютерах. Таким образом, у администратора нет потребности переписать их снова и снова.

  6. Возможность многократного использования:-сценарии, однажды записанные для выполнения определенной задачи, может быть сохранена в более поздних целях и также может быть объединена с другими сценариями для выполнения различных задач. Таким образом, повторяющиеся задачи могут быть выполнены намного более простым способом, просто запустив скрипты. Это экономит время администраторов и деньги в конфигурировании машин.

  7. Конвейерная обработка поддержки:-самая большая победа для powershell состоит в том, что можно передать что-либо по каналу к чему-либо, не имея необходимость анализировать текст. Вы можете обеспечить вывод одной команды как вход к новому набору и таким образом можете решить сложные задачи.

2
ответ дан 2 December 2019 в 22:19

Теги

Похожие вопросы