PS培训理解班

时间:2019-05-12 16:31:32

标签: powershell

我正在PowerShell上关注PluralSight类。在尝试理解演示者的示例时,我深入了解了如何从输出中提取列。在此示例中,我将通过示例阅读有关组对象的Get-Help。示例5说明“按优先级分类分组过程”。如果我在此部分输入示例:

Get-Process | Group-Object -Property 

我无法通过标签显示属性列表。在示例中,它添加了“ PriorityClass”。我对此进行了搜索,发现它似乎是一个描述性页面,概述了此类所产生的内容。

https://docs.microsoft.com/en-us/dotnet/api/system.diagnostics.process.priorityclass?view=netframework-4.8

我看到这也在“过程类”内的属性层次结构中。所有这些属性都应该在“ Get-Process”命令中吗?

如果是这样,那么我看到有一个名为“ Handles”的属性,该属性未在上面的文档中列出,但是可以由Group-Object(或Select-Object)命令调用。为什么没有列出这个?

是否可以通过某种方式查看可以调用的所有属性的列表-类似于预测文本(如制表符)或自动完成(如Toad,如Toct的ctrl +。)?

1 个答案:

答案 0 :(得分:0)

Get-Member将向您显示可以在PowerShell cmdlet的返回对象上使用的所有公共属性。选中此msdn link,以获取Get-Member的完整说明。

一个简短的例子:

PS C:\Users\andre> Get-Process | Get-Member

     TypeName: System.Diagnostics.Process

...
BasePriority               Property       int BasePriority {get;}
Container                  Property       System.ComponentModel.IContainer             Container {get;}
EnableRaisingEvents        Property       bool EnableRaisingEvents {get;set;}
ExitCode                   Property       int ExitCode {get;}
ExitTime                   Property       datetime ExitTime {get;}
Handle                     Property       System.IntPtr Handle {get;}
HandleCount                Property       int HandleCount {get;}
HasExited                  Property       bool HasExited {get;}
Id                         Property       int Id {get;}
...

上面,您可以看到System.Diagnostics.Process返回的Get-Process对象的所有可用属性。

希望有帮助。