属性可以描述一个对象,对象的属性可以被Powershell自动转换成文本,并且输出到控制台。因此可以通过这种方法查看任何对象,例如$host:
代码如下:
PS C:Powershell> $host
Name : ConsoleHost
Version : 2.0
InstanceId : 7fefa1fa-fb2e-47c7-a867-c13b123da5c2
UI : System.Management.Automation.Internal.Host.InternalHostUserInterface
CurrentCulture : zh-CN
CurrentUICulture : zh-CN
PrivateData : Microsoft.PowerShell.ConsoleHost+ConsoleColorProxy
IsRunspacePushed : False
Runspace : System.Management.Automation.Runspaces.LocalRunspace
InternalHost对象存储在$host变量中,包含9个属性。输出的第一列为对象的属性,第二列为文本形式的属性值。例如要查看当前Powershell的版本号,可以访问$host对象的Version属性:
代码如下:
PS C:Powershell> $host.Version
Major Minor Build Revision
----- ----- ----- --------
2 0 -1 -1
由此可知,Version并不是以一串单独的数字存储的,它本身也是一个对象,包含 Major,Minor,Build,Revision四个属性,可以查看Version的具体类型,也可以访问它的每一个属性:
代码如下:
PS C:Powershell> $Host.Version.GetType().FullName
System.Version
PS C:Powershell> $Host.Version.Build
-1
PS C:Powershell> $Host.Version.Major
2
PS C:Powershell> $Host.Version.MajorRevision
-1
PS C:Powershell> $Host.Version.Revision
-1
查看一个对象的类型很实用,因为可以通过这个类型构造新的对象或者进行类型转换等等。
代码如下:
PS C:Powershell> [System.Version]'2012.12.20.4444'
Major Minor Build Revision
----- ----- ----- --------
2012 12 20 4444
例如CurrentCulture属性,可以通过$host的CurrentCulture访问当前系统的本地化信息和该信息的类型:
代码如下:
PS C:Powershell> $Host.CurrentCulture
LCID Name DisplayName
---- ---- -----------
新闻热点
疑难解答