如果我运行get-service它可能会返回不同的状态(0-4 / Running,Stopped,Stopping,Running)。 我可以以某种方式通过发出PowerShell命令行程序来扩展可能的状态值列表吗?
我试图通过使用类似的东西来做到这一点 | select $.status -Expand property ,但无法获取此信息。
我想知道如何做到这一点(我知道我可以在文档中find可能的值列表)。 我需要在脚本后续步骤的条件中使用这些值,并且要确保覆盖返回的所有可能的值。
Get-Service调用.Net并使用System.ServiceProcess.ServiceController类中的构造函数创build对象。 您可以通过将cmdlet传送到Get-Member来找出数据的“types”:
Get-Service | Get-Member
Get-Member命令实际上是枚举由Get-Service创build的对象的方法和属性以及它的TypeName。 input命令后,您可以立即看到TypeName。
那个TypeName对应于一个.Net类,你然后谷歌(没有真正的)。 你必须仔细钻研msdn页面,这需要对面向对象编程(我知道,另一个谷歌)有一个基本的了解。 最终,您应该登陆到ServiceControllerStatus枚举页面,其中列出了所有可能的值描述。
返回的值实际上是整数,但.Net足以将这些值转换成我们可以理解的值。 希望如果你稍微练习这个过程,你将能够应用这个相同的方法来查找PowerShell中其他对象的信息。