【发布时间】:2019-03-21 05:50:03
【问题描述】:
我有一个问题,因为我不能在 PowerShell 的哈希表上使用变量作为值。
我有两个变量。
-
从 AD 中获取 UserPrincipalName 并添加到
$alias$alias = (Get-ADUser -Server "Add Server" -filter * -SearchBase "Add OU").userprincipalname -
然后使用
$alias,我需要以MB 为单位获取Get-Mailbox和Get-MailboxStatistics的邮箱配额并计算百分比$mailbox = foreach ($user in $alias) { ($user | Get-MailboxStatistics | Select-Object @{name="TotalItemSize (MB)"; expression={ [Math]::Round(($_.TotalItemSize.ToString().Split("(")[1].Split(" ")[0].Replace(",","")/1MB),2) }})."TotalItemSize (MB)" }-
使用这个最大值。配额(MB 上 100 GB)
$maxquota = 102400 -
获取 %
$totalsize = foreach ($size in $mailbox) { (($size * 100) / $maxquota) }
邮箱大小示例
PS> $总大小 2.43220703125 14.3363671875 8.875205078125 5.032177734375 15.548349609375 0.0112109375 -
-
然后我想用
$alias和$totalsize做一个哈希表$test = foreach ($name in $alias) { foreach($total in $totalsize){} @{$name = $total} } -
结果应该是
密钥 -
$alias中的名称
价值 - 在$total中的百分比例如:
大卫 - 4.50 胡安 - 15.00 莫伊斯 - 50
但是当我测试哈希表时,我只是接收到带有所有值的每个名称或仅带有第一个值的所有名称
我怎样才能像表格一样获取所有值?
【问题讨论】:
标签: powershell variables key hashtable