Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Logging 用于编写脚本以收集服务器信息任务的适当语言?_Logging_Powershell - Fatal编程技术网

Logging 用于编写脚本以收集服务器信息任务的适当语言?

Logging 用于编写脚本以收集服务器信息任务的适当语言?,logging,powershell,Logging,Powershell,我有一个相当独特的问题,我想收集一些意见 我负责创建某种脚本,可以完成以下任务: 在任何Windows Server 2008 R2服务器上运行 设置并运行Perfmon计数器 将这些计数器记录到日志文件中 当日志文件变得太大时滚动它 脚本需要具有以下属性: 与WPF或Winforms兼容(我需要为其创建GUI) 可由本地管理员在任何Windows Server 2008 R2服务器上运行 可移植(如中所述,它可以轻松打包并放在thumb驱动器等上,安装程序开销最小(或没有) 可以由没有技

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

我负责创建某种脚本,可以完成以下任务:

  • 在任何Windows Server 2008 R2服务器上运行
  • 设置并运行Perfmon计数器
  • 将这些计数器记录到日志文件中
  • 当日志文件变得太大时滚动它
脚本需要具有以下属性:

  • 与WPF或Winforms兼容(我需要为其创建GUI)
  • 可由本地管理员在任何Windows Server 2008 R2服务器上运行
  • 可移植(如中所述,它可以轻松打包并放在thumb驱动器等上,安装程序开销最小(或没有)
  • 可以由没有技术专长的用户运行(这可以追溯到需要GUI)
到目前为止,我一直使用Powershell,因为它似乎满足了大多数需求。但是,对于如何设置Powershell的安全性,我需要让脚本强制执行不受限制的脚本策略,或者我需要找到一种方法在可能使用它的任何计算机上创建自签名证书

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

所以我想看看是否有其他语言可以满足上述要求,以确保我使用的工具适合这份工作


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

我认为您的做法是正确的,这应该解决您最后的问题

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

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

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

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

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

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

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

我认为您走上了正确的道路,这应该解决您最后的问题

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

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

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

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

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

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

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

是否要使用PowerShell创建GUI?使用C#IMO要容易得多。@Aryadev我计划使用VB或C#创建GUI并从那里调用脚本,脚本本身只需要能够从其他地方轻松调用。所以我猜这只是意味着解释。我会更精确地编辑我的问题。我会用C#创建所有问题。更容易处理安全问题,并且不需要客户端运行相同的PowerShell版本。是否要使用PowerShell创建GUI?使用C#IMO要容易得多。@Aryadev我计划使用VB或C#创建GUI并从那里调用脚本,脚本本身只需要能够从其他地方轻松调用。所以我猜这只是意味着解释。我会更精确地编辑我的问题。我会用C#创建所有问题。它更容易处理安全问题,并且不需要客户端运行相同的PowerShell版本。非常好。非常感谢您的帮助,我只是尝试了一下(虽然我使用了旁路,而不是不受限制的旁路,这样警告的机会就少了),而且效果很好。现在我开始创建GUI。非常好。非常感谢您的帮助,我只是尝试了一下(虽然我使用了旁路,而不是不受限制的旁路,这样警告的机会就少了),而且效果很好。现在我开始创建GUI。