PowerShell有哪些数据类型?

时间:2016-09-18 20:18:31

标签: powershell

我搜索了Stack Overflow和Google,但找不到我的问题的答案: PowerShell有哪些数据类型(例如stringXMLregexint等? Microsoft TechNet似乎没有列表,我发现没有办法简单地列出所有列表。

1 个答案:

答案 0 :(得分:9)

已经hinted by PetSerAl,PowerShell中的类型系统是.NET CTS的直接扩展 - 可以使用加载到当前托管PowerShell环境的AppDomain中的任何.NET类型。

在.NET中,类型(类,结构,枚举和内置值类型)被编译为程序集(通常以.dll文件的形式)。

如果你想要一个详尽的列表,你可以简单地枚举当前加载到内存中的所有程序集,然后枚举所述程序集中的所有类型:

[AppDomain]::CurrentDomain.GetAssemblies() |Foreach-Object {
    $_.GetExportedTypes()
}

如果您只想要所有Type Accelerators(短名称别名,如[regex][wmi][adsi]等)的列表,您可以使用以下技巧:

$AcceleratorType = [psobject].Assembly.GetType("System.Management.Automation.TypeAccelerators")
$AcceleratorType::Get