哇,那些医生有点老了。没有Get/Set属性cmdlet。这必须引用Get/Set-ItemProperty cmdlet。对于RegistryProvider,这些cmdlet是必不可少的,因为它是访问注册表值的唯一方法。也就是说,Get-Item/ChildItem cmdlet只返回RegistryKey对象,从不返回注册表值对象(它们在.NET中不存在)。必须使用Get/Set ItemProperty来获取/设置regkey下的特定regvals。
OTOH文件系统提供程序允许您直接访问容器(dir)和leaf(文件)。您可以直接获取文件的内容。但是,如果要获取文件的最后写入时间,可以使用Get-ItemProperty:
PS> Get-ItemProperty -Path .\DotNetTypes.format.ps1xml -Name LastWriteTime
PSPath : Microsoft.PowerShell.Core\FileSystem::C:\Win
dows\System32\WindowsPowerShell\v1.0\DotNetT
ypes.format.ps1xml
PSParentPath : Microsoft.PowerShell.Core\FileSystem::C:\Win
dows\System32\WindowsPowerShell\v1.0
PSChildName : DotNetTypes.format.ps1xml
PSDrive : C
PSProvider : Microsoft.PowerShell.Core\FileSystem
LastWriteTime : 4/24/2009 11:21:46 AM
但是,我通常不会以这种方式访问此属性。我发现输出非常冗长。我会这样做:
PS> (Get-Item .\DotNetTypes.format.ps1xml).LastWriteTime
Friday, April 24, 2009 11:21:46 AM