我搜索了Stack Overflow和Google,但找不到我的问题的答案:
PowerShell有哪些数据类型(例如string
,XML
,regex
,int
等? Microsoft TechNet似乎没有列表,我发现没有办法简单地列出所有列表。
答案 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