PowerShell有哪些数据类型?

Vel*_*cet 4 powershell

我搜索了堆栈溢出和谷歌,但找不到一个回答我的问题:哪些数据类型(例如string,XML,regex,int等)不PowerShell的有哪些?似乎没有Microsoft TechNet上的列表,我发现没有办法简单地列出它们.

Mat*_*sen 11

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

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

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

[AppDomain]::CurrentDomain.GetAssemblies() |Foreach-Object {
    $_.GetExportedTypes()
}
Run Code Online (Sandbox Code Playgroud)

如果你只是希望所有的列表类型加速器(短名称别名一样[regex],[wmi],[adsi]等),可以使用下面的技巧:

$AcceleratorType = [psobject].Assembly.GetType("System.Management.Automation.TypeAccelerators")
$AcceleratorType::Get
Run Code Online (Sandbox Code Playgroud)