【发布时间】:2022-09-29 18:35:00
【问题描述】:
PowerShell 中的某些哈希表(例如使用 Import-PowerShellDataFile 导入的哈希表)如果改为 PSCustomObject 会更容易导航。
@{
AllNodes = @(
@{
NodeName = \'SRV1\'
Role = \'Application\'
RunCentralAdmin = $true
},
@{
NodeName = \'SRV2\'
Role = \'DistributedCache\'
RunCentralAdmin = $true
},
@{
NodeName = \'SRV3\'
Role = \'WebFrontEnd\'
PSDscAllowDomainUser = $true
PSDscAllowPlainTextPassword = $true
CertificateFolder = \'\\\\mediasrv\\Media\'
},
@{
NodeName = \'SRV4\'
Role = \'Search\'
},
@{
NodeName = \'*\'
DatabaseServer = \'sql1\'
FarmConfigDatabaseName = \'__FarmConfig\'
FarmContentDatabaseName = \'__FarmContent\'
CentralAdministrationPort = 1234
RunCentralAdmin = $false
}
);
NonNodeData = @{
Comment = \'No comment\'
}
}
导入后将成为哈希表的哈希表
$psdnode = Import-PowerShellDataFile .\\nodefile.psd1
$psdnode
Name Value
---- -----
AllNodes {System.Collections.Hashtable, System.Collect...
NonNodeData {Comment}
$psdnode.GetType()
IsPublic IsSerial Name BaseType
-------- -------- ---- --------
True True Hashtable System.Object
当按属性名称导航时,数据结构会很奇怪。
标签: powershell hashtable pscustomobject