2016-09-18 53 views
3

我搜索了堆棧溢出和谷歌,但找不到一個回答我的問題: 哪些數據類型(例如stringXMLregexint等)不PowerShell的有哪些?微軟TechNet上似乎沒有列表,我發現沒有辦法簡單地列出它們。PowerShell具有哪些數據類型?

+2

.NET有他們,PowerShell的只是使用它們。 – PetSerAl

+0

查看以下鏈接,您將在頁面底部找到一個列表:https://4sysops.com/archives/the-powershell-variable-naming-value-data-type/#data-type –

+0

你可以使用.Net提供的一切。否則,只要閱讀教程,您就會明白它是多麼容易使用。 – Nordes

回答

8

已經是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 
+0

這正是我一直在尋找的!謝謝!所以我一直在尋找別名(類型加速器)而不是「真正的」類型。 – Velocet