【发布时间】:2013-10-02 16:06:50
【问题描述】:
我目前正在尝试使用 Powershell Web 服务器 PoSH (http://poshserver.net/) 来获取一些管理报告。但我不知道如何格式化输出。
从一开始:我使用默认快捷方式启动控制台,并具有管理员权限。我输入Import-Module PoSHServer,然后输入Start-PoSHServer。 Web 服务器启动,然后我创建一个简单的 index.ps1 文件,在正文部分只有一行代码:$(command)。
例如,我想使用Get-Service Mpssvc 命令,但我得到的是:
System.ServiceProcess.ServiceController
我试试Get-Service MpsSvc | Select Name,Status。输出:
@{Name=MpsSvc; Status=Running}
对于 cmdlet Get-Process 也是如此,我有一个包含进程列表的输出,但它看起来像这样:System.Diagnostics.Process (AcroRd32) ...
但是,一些 cmlet 就像 Get-Date(在 Posh 演示网页中使用)一样工作正常并且具有“正常”输出。
我阅读了文档,但没有任何示例可以帮助我。
如何编写 powershell 代码以获得“干净”和类似控制台的输出?
【问题讨论】:
-
Get-Service -Name "MpsSvc"给你什么输出? -
同样的输出:
System.ServiceProcess.ServiceController -
还有其他服务,例如
lmhosts、Netlogon等?一样的输出?尝试以管理员身份运行。 -
其他服务的输出相同。不带参数的
Get-Servicecmdlet 返回System.ServiceProcess.ServiceController的列表。关于权限,无论如何都必须以管理员权限启动网络服务器。 -
这一定是控制台问题。
Get-Service似乎返回了正确的类型和对象,因为您可以选择属性并将它们作为哈希表返回。控制台似乎不知道如何解释它们。你是如何开始使用 powershell 的?尝试从 cmd 启动它。另外,afais,这与 poshserver 无关:Get-Service和Get-Process默认在 powershell 中加载。所以我没有想法......
标签: powershell poshserver