2013-05-13 3 views
1

У меня есть довольно уникальная проблема, и я хотел бы получить некоторые сведения об этом.Соответствующий язык для создания сценариев сбора информации о сервере?

Я ответственен за создание сценария какой-то, что может сделать следующие вещи:

  • работать на любой Windows Server 2008 R2 сервер
  • установить и запустить Perfmon Счетчики
  • Вход эти счетчики в лог-файл
  • ролл файл журнала, когда она становится слишком большой

скрипт должен быть в состоянии га ве следующие свойства:

  • Совместимость с WPF или Winforms (мне нужно создать графический интерфейс для него)
  • Может быть запущена локальным администратором на любом Windows Server 2008 R2
  • портативный (как in, он может быть легко упакован и помещен на флэш-накопитель и т. д. с минимальными (или нет) служебными данными установщика)
  • Может управляться пользователем с небольшим техническим опытом (это связано с необходимостью графический интерфейс пользователя)

So далеко я пошел по пути Powershell, потому что он, похоже, выполняет большинство требований. Тем не менее, с установкой безопасности Powershell я либо должен заставить сценарий использовать неограниченную политику скрипта, либо мне нужно выяснить способ создания самозаверяющего сертификата на любой машине, которая может его использовать.

Это последний бит, который вызывает проблемы, так как makecert.exe требует, чтобы пользователь ввел пароль/ключ для сертификата (таким образом, запутав нетехнического пользователя) и не гарантируется существование в производственной Windows Server 2008 (тем самым вынуждая пользователя установить Windows SDK или Visual Studio).

Так что я хотел посмотреть, есть ли там другой язык, который мог бы выполнить требования выше, чтобы убедиться, что я использую правильный инструмент для работы.

ПРИМЕЧАНИЕ. Я не планирую использовать сам язык сценариев для создания графического интерфейса, который может быть выполнен через VB или C# или что-то еще. Сценарий просто должен быть вызван winform или WPF. Они используются, потому что я больше всего использую Visual Studio, а не любую другую среду IDE.

+0

Вы хотите создать графический интерфейс с помощью PowerShell? Намного легче пойти с C# IMO. – Aryadev

+0

@Aryadev Я планирую использовать VB или C# для создания графического интерфейса и вызывать скрипт , сам скрипт просто должен быть легко вызван из другого места. Поэтому я предполагаю, что это просто означает интерпретацию. Я уточню мой вопрос, чтобы быть более точным. –

+0

Я бы создал все это на C#. Легче справляться с проблемами безопасности и не требует от клиентов запускать ту же версию PowerShell. –

ответ

1

Я думаю, что вы на правильном пути, и это должно позаботиться о вашей последней заботе.

я цитировал соответствующие строки из файла справки Powershell на about_Execution_Policies

Вы можете задать политику выполнения для локального компьютера, для текущего пользователя или для конкретного сеанса.

Политика выполнения для определенного сеанса хранится только в памяти и теряется при закрытии сеанса.

Вам не нужно подписывать свои сценарии, чтобы ваши сценарии PowerShell переносились.Политика выполнения сеанса powershell может быть установлена ​​с помощью параметра -ExecutionPolicy при вызове powershell.exe. Это не влияет или не изменяет политику выполнения, которая уже установлена ​​на компьютере.

Например, ваш GUI может вызвать скрипт Install-Perfmon.ps1 используя командную строку:

powershell.exe -ExecutionPolicy Unrestricted -File Install-Permon.ps1 

Это будет работать даже компьютер имеет более жесткую политику выполнения уже установлен.

+0

Отлично. Большое спасибо за эту помощь, я просто дал этот снимок (хотя вместо Unrestricted я использовал Bypass, поэтому вероятность появления предупреждения меньше), и все работает отлично. Теперь я собираюсь создать графический интерфейс. –

Смежные вопросы