1

我有一个相当独特的问题,我想收集一些关于它的意见。

我负责创建某种可以执行以下操作的脚本:

  • 在任何 Windows Server 2008 R2 服务器上运行
  • 设置和运行性能计数器
  • 将这些计数器记录到日志文件中
  • 当日志文件变得太大时滚动日志文件

该脚本需要能够具有以下属性:

  • 与 WPF 或 Winforms 兼容(我需要为其创建一个 GUI)
  • 可由本地管理员在任何 Windows Server 2008 R2 服务器上运行
  • 便携(例如,它可以很容易地打包并放在拇指驱动器等上,安装程序开销最小(或没有))
  • 可以由很少/没有技术专长的用户运行(这可以追溯到需要有一个 GUI)

到目前为止,我已经走上了 Powershell 的道路,因为它似乎满足了大部分要求。但是,根据 Powershell 的安全性设置方式,我需要让脚本强制执行不受限制的脚本策略,或者我需要想办法在任何可能使用它的机器上创建自签名证书。

最后一点会导致问题,因为 makecert.exe 要求用户输入证书的密码/密钥(从而使非技术用户感到困惑)并且不能保证存在于生产 Windows Server 2008 环境中(因此强制用户安装 Windows SDK 或 Visual Studio)。

所以我想看看是否有另一种语言可以满足上述要求,以确保我使用正确的工具来完成这项工作。

注意:我不打算使用脚本语言本身来创建 GUI,这可以通过 VB 或 C# 或其他方式完成。该脚本只需要由 winform 或 WPF 调用。之所以使用这些,是因为我最习惯使用 Visual Studio,而不是任何其他 IDE。

4

1 回答 1

1

我认为您走在正确的轨道上,这应该解决您的最后一个问题。

我在about_Execution_Policies的 powershell 帮助文件中引用了相关行

您可以为本地计算机、当前用户或特定会话设置执行策略。

特定会话的执行策略仅存储在内存中,并在会话关闭时丢失。

您无需签署脚本即可使您的 powershell 脚本具有可移植性。可以在调用 powershell.exe 时使用 -ExecutionPolicy 参数设置 powershell 会话的执行策略。这不会影响或更改已在计算机上设置的执行策略。

例如,您的 GUI 可以使用命令行调用脚本Install-Perfmon.ps1

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

即使计算机已经设置了更严格的执行策略,这也将起作用。

于 2013-05-13T16:21:53.553 回答