检查一个对象

既然你有一个对象,那么弄清楚它是什么就好了。你可以使用 Get-Member cmdlet 查看对象是什么以及它包含的内容:

Get-Item c:\windows | Get-Member

这会产生:

TypeName: System.IO.DirectoryInfo

后跟对象具有的属性和方法列表。

获取对象类型的另一种方法是使用 GetType 方法,如下所示:

C:\> $Object = Get-Item C:\Windows
C:\> $Object.GetType()

IsPublic IsSerial Name                                     BaseType
-------- -------- ----                                     --------
True     True     DirectoryInfo                            System.IO.FileSystemInfo

若要查看对象具有的属性列表及其值,可以使用 Format-List cmdlet,并将其 Property 参数设置为:*(表示全部)。

这是一个例子,结果是输出:

C:\> Get-Item C:\Windows | Format-List -Property *

PSPath            : Microsoft.PowerShell.Core\FileSystem::C:\Windows
PSParentPath      : Microsoft.PowerShell.Core\FileSystem::C:\
PSChildName       : Windows
PSDrive           : C
PSProvider        : Microsoft.PowerShell.Core\FileSystem
PSIsContainer     : True
Mode              : d-----
BaseName          : Windows
Target            : {}
LinkType          :
Name              : Windows
Parent            :
Exists            : True
Root              : C:\
FullName          : C:\Windows
Extension         :
CreationTime      : 30/10/2015 06:28:30
CreationTimeUtc   : 30/10/2015 06:28:30
LastAccessTime    : 16/08/2016 17:32:04
LastAccessTimeUtc : 16/08/2016 16:32:04
LastWriteTime     : 16/08/2016 17:32:04
LastWriteTimeUtc  : 16/08/2016 16:32:04
Attributes        : Directory