如何修改PowerShell脚本让Get-MailboxFolderStatistics仅返回纯数字?
问题:提取Exchange Online邮箱文件夹项目数的纯数字值
你的脚本当前返回包含表头和分隔线的字符串,无法直接用于数值比较。要获取纯数字的项目数,只需修改属性提取的方式:
解决方案1:使用-ExpandProperty提取属性值
直接通过Select-Object -ExpandProperty获取ItemsInFolder的原始数值:
$myJob1 = Get-Mailbox -Identity abc@mail.com | Get-MailboxFolderStatistics -FolderScope DeletedItems | Select-Object -ExpandProperty ItemsInFolder
解决方案2:直接访问对象属性
通过对象属性访问的方式直接获取数值,写法更简洁:
$myJob1 = (Get-Mailbox -Identity abc@mail.com | Get-MailboxFolderStatistics -FolderScope DeletedItems).ItemsInFolder
修改后的完整脚本
两种方法都能得到纯数字,之后可以直接进行数值比较:
$myJob1 = Get-Mailbox -Identity abc@mail.com | Get-MailboxFolderStatistics -FolderScope DeletedItems | Select-Object -ExpandProperty ItemsInFolder if ($myJob1 -eq 5000) { Write-Host "Equal" } else { Write-Host "Not equal" }
原脚本问题说明
你之前用Select ItemsInFolder返回的是一个包含ItemsInFolder属性的对象,转成字符串时PowerShell会自动生成表头和格式线,导致结果带多余内容。改用上述方法后,$myJob1会直接存储数字类型的项目数,既干净又能直接用于数值判断。
内容的提问来源于stack exchange,提问作者Thuong Vo Tinh
相关产品推荐
相关产品推荐

