根据this technet article关于Powershell类型的加速器,有几十种类型别名称为类型加速器。的确,以下命令
[psobject] .Assembly.GetType( “System.Management.Automation.TypeAccelerators”)::获得
在我的系统上返回80个加速器。
然而,它的简写[accelerators]::get
似乎失败了:
无法找到[加速器]类型。确保那个组件 包含此类型已加载。在行:1个字符:1 + [加速器] ::得到 + ~~~~~~~~~~~~~~~~~~~ + CategoryInfo:InvalidOperation :(加速器:TypeName)[],RuntimeException + FullyQualifiedErrorId:TypeNotFound
我还尝试在发出命令之前用System.Management.Automation.TypeAccelerators
动态加载[System.Reflection.Assembly]::LoadWithPartialName("System.Management.Automation.TypeAccelerators")
程序集,但它仍然失败。
$PSVersionTable
返回以下数据:
Name Value
---- -----
PSVersion 4.0
WSManStackVersion 3.0
SerializationVersion 1.1.0.1
CLRVersion 4.0.30319.42000
BuildVersion 6.3.9600.18728
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0}
PSRemotingProtocolVersion 2.2
操作系统是Windows 7 x64。
问题:如何加速获取Powershell类型加速器列表?
答案 0 :(得分:3)
我知道文章说它默认存在于PowerShell 3.0中,但是我从未在任何其他版本中看到过它,可能会在4.0版本中再次删除。
您需要自己添加:
$TAType = [psobject].Assembly.GetType("System.Management.Automation.TypeAccelerators")
$TAType::Add('accelerators',$TAType)
# this now works
[accelerators]::Get