1

私はかなりユニークな問題を抱えており、それに関する意見を集めたいと思っています。

私は、次のことを実行できる何らかのスクリプトの作成を担当しています。

  • 任意の Windows Server 2008 R2 サーバーで実行
  • Perfmon カウンターのセットアップと実行
  • これらのカウンターをログ ファイルに記録する
  • ログ ファイルが大きくなりすぎたらロールする

スクリプトは、次のプロパティを持つことができる必要があります。

  • WPF または Winforms と互換性があります (そのための GUI を作成する必要があります)
  • 任意の Windows Server 2008 R2 サーバーでローカル管理者が実行可能
  • 移植可能です (簡単にパッケージ化してサムドライブなどに入れることができ、インストーラーのオーバーヘッドは最小限 (またはゼロ) で済みます)
  • 技術的な専門知識がほとんどない、またはまったくないユーザーが実行できます (これは、GUI の必要性に戻ります)

これまでのところ、ほとんどの要件を満たしているように見えるため、Powershell の道をたどってきました。ただし、Powershell のセキュリティがどのように設定されているかを考えると、スクリプトで無制限のスクリプト ポリシーを強制するか、自己署名証明書を使用するマシンで自己署名証明書を作成する方法を見つける必要があります。

makecert.exe では、ユーザーが証明書のパスワード/キーを入力する必要があり (したがって、技術者以外のユーザーを混乱させる)、Windows Server 2008 の実稼働環境に存在することが保証されていないため、問題を引き起こすのは最後のビットです (したがって、ユーザーに Windows SDK または Visual Studio のインストールを強制します)。

そのため、上記の要件を満たすことができる別の言語があるかどうかを確認し、仕事に適したツールを使用していることを確認したいと考えました.

注: スクリプト言語自体を使用して GUI を作成するつもりはありません。これは、VB や C# などを介して行うことができます。スクリプトは、winform または WPF によって呼び出されるだけです。これらが使用されているのは、私が他の IDE ではなく Visual Studio を使用することに最も慣れているためです。

4

1 に答える 1

1

あなたは正しい道を進んでいると思います。

about_Execution_Policiesの powershell ヘルプ ファイルから関連する行を引用しました。

ローカル コンピューター、現在のユーザー、または特定のセッションに対して実行ポリシーを設定できます。

特定のセッションの実行ポリシーはメモリにのみ保存され、セッションが閉じられると失われます。

PowerShell スクリプトを移植可能にするために、スクリプトに署名する必要はありません。PowerShell セッションの実行ポリシーは、powershell.exe を呼び出すときに -ExecutionPolicy パラメーターを使用して設定できます。これは、コンピューターに既に設定されている実行ポリシーに影響を与えたり、変更したりしません。

たとえば、GUIはコマンドラインを使用してスクリプトInstall-Perfmon.ps1を呼び出すことができます。

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

これは、コンピューターにより厳しい実行ポリシーが既に設定されている場合でも機能します。

于 2013-05-13T16:21:53.553 に答える