脚本收集服务器信息任务的适当语言?

时间:2013-05-13 12:49:44

标签: logging powershell

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

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

  • 在任何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调用。这些正在被使用,因为我最习惯使用Visual Studio而不是任何其他IDE。

1 个答案:

答案 0 :(得分:1)

我认为你走在正确的轨道上,这应该照顾你最后的关注。

我引用了about_Execution_Policies

上的powershell帮助文件中的相关行
  

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

     

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

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

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

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

即使计算机已经设置了更严格的执行策略,这也可以工作。