我撰寫了一個從公共檔案夾收集資訊并將其輸出到 .csv 的腳本。一切都很好,除了 pf.FolderSize 屬性以 MB 和 KB 顯示(匯出),括號中的位元組例如:1.925 MB(2,018,497 位元組)。我想對整個事情進行總結,因此最好將結果格式化為 MB 而不帶括號,這樣我就可以輕松獲得所有檔案夾的整體大小。
這是作業
$publicFolders = Get-PublicFolder "\SomePublicFolderName" -Recurse -resultsize unlimited |
Select-Object *
### Array to contain results
$results = @()
### Loop through and do the work
$publicFolders |ForEach-Object {
$pf = $_
if ($pf.MailEnabled){
$pfstat = Get-PublicFolderStatistics -Identity $pf.Identity | Where-Object {$_.User -notmatch "Default|Anonymous|S-X-X-XX"}
$perms = Get-PublicFolderClientPermission -Identity $pf.Identity | Where-Object {$_.User -notmatch "Default|Anonymous|S-X-X-XX"}
Foreach($perm in $perms){
[PSCustomObject]@{
PFName = $pf.Name
PFIdentity = $pf.Identity
MailEnabled = $pf.MailEnabled
FolderSize = $pf.FolderSize
TotalItemSize = $pfstat.TotalItemSize
ItemCount = $pfstat.ItemCount
LastModificationTime = $pfstat.LastModificationTime
UserWithPerms = $perm.User
AccessRights = $perm | Select-Object -ExpandProperty AccessRights
PrimaryAddy = $mepf.PrimarySmtpAddress
ForwardingAddy = $mepf.ForwardingAddress
}
}
}}| Export-Csv $path -NoTypeInformation -append
我已經嘗試了下面的代碼,但輸出的所有內容都是相同的值,所以這不可能是正確的......
$pfstat = Get-PublicFolderStatistics -Identity $pf.Identity | Where-Object {$_.User -notmatch "Default|Anonymous|S-X-X-XX"} | Select-Object FolderPath,ItemCount,LastModificationTime @{
N = "TotalItemSize (MB)";
E = {
"{0:N2}" -f ((($_.TotalItemSize -replace "[0-9\.] [A-Z]* \(([0-9,] ) bytes\)","`$1") -replace ",","") / 1MB)
}
}
與往常一樣,提前致謝。我很想看看我哪里出錯了。
uj5u.com熱心網友回復:
如果您在服務器本身或從您的 PC 上運行您的代碼,則會有所不同。
在(較舊的 Exchange)服務器上運行時,TotalItemSize可能不是[string],而是[Microsoft.Exchange.Data.Unlimited]具有.Value型別屬性的物件[ByteQuantifiedSize]。
要處理這個問題,請使用輔助函式
function Format-MailboxStatisticsSize($itemSize) {
if ($itemSize -is [string]) {
'{0:F2}' -f (($itemSize -replace '^.*\(([\d,] ) bytes\)', '$1' -replace '\D') / 1MB)
}
else { # Microsoft.Exchange.Data.Unlimited
'{0:F2}' -f ($itemSize.Value.ToBytes() / 1Mb)
}
}
Format-MailboxStatisticsSize $pfstat.TotalItemSize # "1.925 MB (2,018,497 bytes)" --> 1.92
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/363111.html
