【问题标题】:How to replace text in get-mailboxfolderstatistics without breaking the array如何在不破坏数组的情况下替换 get-mailboxfolderstatistics 中的文本
【发布时间】:2020-01-11 18:57:23
【问题描述】:

用于邮箱文件夹统计信息和权限的 Exchange PowerShell 命令是脱节的,需要您处理数据以获取统计信息并将它们用作删除文件夹权限的变量。

我正在尝试使用 PowerShell 中的替换命令来操作值而不破坏数组本身。

我尝试了各种方法来使用 -replace 命令来处理这个问题,因为它没有成功。

我正在尝试使用类似这样的代码:

Get-MailboxFolderStatistics -Identity jon@towles.com | Select Identity |  ForEach-Object { $_."Identity" -replace '.com','.com:'}

当我使用替换功能时,它会破坏数组,因此我们不再看到标题,并且不能将它与 foreach-object {Remove-MailboxFolderPermissions -identity $_.identity -user testuser} 之类的东西一起使用

我希望替换功能仍然会保留数据布局。

【问题讨论】:

  • $_.identity 会破坏标题,因为您要取消引用属性。您可以一起跳过 foreach 并在您的选择对象中使用计算属性
  • 感谢您的想法。这是修复:$folders = get-mailboxfolderstatistics -Identity $user | Where-Object {($_.FolderPath -ne "/Top of Information Store" -and $_.FolderPath -ne "/Recoverable Items" -and $_.FolderPath -ne "/Deletions" -and$_.FolderPath - ne "/Purges" -and $_.FolderPath -ne "/Versions")} | Select-Object -Property @{ Name = 'FolderPath';表达式 = { $_.identity -replace 'test.com','test.com:' -and -replace '?','\'}}

标签: powershell exchange-server exchange-server-2010


【解决方案1】:

如果您想维护您的 psobject 结构,您需要避免取消引用属性或扩展属性。在您的情况下,您可以在 Select-Object 命令中使用计算属性。

Get-MailboxFolderStatistics -Identity user@domain.com |
    Select-Object @{Name='Identity';Expression={$_.Identity.Replace('.com','.com:')}}

您当前的管道对象$_ 是一个具有可访问属性的psobject。当您使用取消引用运算符. 时,您正在检索其中一个属性的值。 $_.Identity 产生不同的对象。由于您没有将该值合并回自定义对象,因此您唯一可用的属性是其对象类型可用的属性,不包括 Identity

话虽如此,您在技术上不需要维护您的对象架构来执行后续任务。即使您使用第一个命令输出一个字符串,您也可以将该字符串存储在一个变量中并在另一个命令中使用它。如果您的计划是使用 Foreach-Object 来更新所有对象,则可以更新管道对象以供将来在循环中使用。

Get-MailboxFolderStatistics -Identity user@domain.com | ForEach-Object { 
    $_.Identity = $_.Identity.Replace('.com','.com:')
    Remove-MailboxFolderPermissions -Identity $_.Identity -User testuser

}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-08-21
    • 1970-01-01
    • 1970-01-01
    • 2019-02-28
    • 2021-04-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多