我无法Get-MailboxDatabaseCopyStatus
在函数或表达式中获得 Exchange 管理 CmdLet (OnPremises) 的任何结果。
function Get-DAGDatabaseCopys ($Identity) {
# Neither this line:
#[Int]$DBCopys = Invoke-Command { @(Get-MailboxDatabaseCopyStatus -Identity $Identity).count }
# Or this line works:
$DBCopys = @(Get-MailboxDatabaseCopyStatus -Identity $Identity).count
return $DBCopys
}
用法:
Get-DAGDatabaseCopys -Identity "DatabaseName"
表达式示例:
$strMasterType = "DatabaseAvailabilityGroup"
$expDatabaseSpaceGB = @{Expression={if(($_.MasterType -eq $strMasterType) -and ($IncludeDagCopys)){
start-sleep 1
$DBCopys = @(Get-MailboxDatabaseCopyStatus -Identity $_).count
return [math]::Round((Value-ToGB -Value $_.AvailableNewMailboxSpace),2) * $DBCopys
};Label="DatabaseWhiteSpaceSizeGB"}
用法:
$MailboxDBStatus = Get-MailboxDatabase -Status | select ServerName, Name, MasterType, $expDatabaseSpaceGB
函数或表达式的返回值将始终为empty
或0
(如果 DataType 为 Int)。函数/表达式中的对象中没有数据$DBCopys
,即使我尝试接收完整的对象(不仅仅是计数)。
脚本根目录或 Powershell 控制台上的相同 CmdLet 直接按预期工作。
这是此 cmdlet 的一般行为还是我在这里做错了什么?
谢谢。