2013-07-03 4 views
3

Я понимаю, что практически всякая «настоящая работа», выполняемая различными компонентами GUI в Windows Server 2012 (например, в управлении дисками), выполняется путем вызова PowerShell. (То есть ничего не может быть сделано в графическом интерфейсе, который не может быть выполнен с помощью Powershell.)Создание сценариев Powershell при работе в Windows GUI

Способность видеть и/или собирать различные действия Powershell, предпринятые Windows при использовании графического интерфейса, быть ужасно ценным. Вы включили эту функцию, выполните необходимую работу по настройке и отключите ее, в результате получите один или несколько сценариев Powershell, которые автоматизируют то, что вы только что сделали вручную. (Конечно, сценарий (ы), вероятно, можно было бы параметризовать по-разному.) Время, которое не удалось выяснить, какие командлеты используются для выполнения различных задач и какие параметры переданы им, будет огромным - даже просто зная, что используются командлеты, вы совершенно не понимаете, как автоматизировать все.

Эта возможность была бы такой же, как включение Macro Recorder в Excel, выполнение операции и ее отключение - рассмотрение полученного макроса говорит вам, какие манипуляции с базовыми объектами и как получить результат, который вы легко удалось использовать графический интерфейс Excel.

Имеется ли эта возможность? Как включить и выключить его? (Я искал глупостей и искал себя, но не видел ничего, что говорит о том, как это сделать, или даже прямо говорит, что это возможно - хотя я могу поклясться, что читал/слышал об этом в каком-то блоге или подкасте, назад в то время, когда меня не волновало Powershell.)

Любая информация была бы оценена.

+1

Я верю, что вы слышали об обратном: [автоматизация пользовательского интерфейса с Powershell] (http://msdn.microsoft.com/en-us/magazine/cc337896.aspx). –

+0

Некоторые продукты (например, System Center) позволяют отображать сгенерированный код PowerShell, но AFAIK нет системного макрорекордера. Сгенерированный код также требует совсем немного настройки, если вы хотите превратить его в полезный скрипт. –

+0

Я думаю, что подавляющее большинство компонентов Windows/продуктов «хост» PowerShell. Они компилируются в поддержку powershell в компонент с использованием классов .NET в 'system.management.automation'.Таким образом, макро-способность должна была бы встроена в (умеренно) низкоуровневые API-интерфейсы Powershell. (На этом уровне нет командной строки Powershell или ISE GUI, это просто API). Поскольку компонент «управляет» API, он должен был бы включить макрокоманд. Поэтому, даже если бы была макрозапись, это все равно привело бы к тому, что сказал Ансгар, - поддержка будет составляться по компонентам. –

ответ

0

У меня нет точного ответа на ваш вопрос, но то, что вы, возможно, читали/слышали о на каком-то блоге или подкаста:

первый: В Start-Transcript и Stop-Transcrip CmdLets, которые позволяют вам запишите все командные строки, которые вы вводите в командной строке PowerShell.

Второй: Когда вы используете PowerShell 3, вы используете ISE, который теперь является не очень базовым редактором PowerShell. Но это было не так в начале, и я использовал бесплатный редактор из Quest Software под названием PowerGUI. Когда вы загружаете этот редактор, он поставляется с другой софт-административной консолью. Эта административная консоль позволяет генерировать PowerShell для основных операций и поставляется с WMI-браузером, который также создает сценарии PowerShell.

Third: Существует также PowerShell Scriptomatic, но я просто никогда не использую его.

0


Я не верю, что функция, которую вы описываете, доступна в Windows. Я считаю, что это произойдет, поскольку Microsoft обязала, чтобы все новые функции настраивались с помощью PowerShell. Поскольку операционная система должна скоро быть в том смысле, что все функциональные возможности исполняются через PowerShell, имеет смысл, что они будут включать в себя возможность перевода действий пользовательского интерфейса в список команд PowerShell, которые достигают той же функциональности.