如何使用 powershell 或任何其他方法设置 msExchMailboxGUID?

如何使用 powershell 或任何其他方法设置 msExchMailboxGUID?

我需要批量设置多个帐户的 msExchMailboxGUID。我输入的数据来自 Powershell 命令 Get-MailboxStatistics。其中有一个包含邮箱 GUID 的对象。

我需要将该 GUID 保存到 AD 中,因此,这就是我获取对象的方法:

   $thisDN = $oneUser.DistinguishedName
   $user = [ADSI]"LDAP://$thisDN"  

  try 
  {
     $user.get("msExchMailboxGUID")
  }
  catch
  {
      $desc = ""
  }

设置对象的正确方法是什么?

我无法使用“set”或“put”来上传和保存错误。如果有人能告诉我详细的对象详细信息就更好了,因为我不知道在哪里可以找到用括号实例化的东西的详细信息[ADSI]

如果这只是使用 COM ADSI 对象,那么“put”的正确语法是什么?我尝试过括号、逗号,但无法让 Powershell 处理 COM。

答案1

继续你的例子,这将有效:

$guid = $user.get("msExchMailboxGUID")

$thisDN2 = $twoUser.DistinguishedName
$user2 = [ADSI]"LDAP://$thisDN2"

$user2.put('msExchMailboxGUID', @($guid))
$user2.setinfo()

答案2

如果 Google 引导其他人到这里,这是最简单的方法。这需要 RSAT 附带的 Active Directory PowerShell 模块。看这里了解有关安装的更多信息。

Active Directory 将 GUID 存储为字节数组,因此为了设置它,我们需要将 GUID 字符串转换为字节数组。

Import-Module ActiveDirectory
set-aduser jim.bob -Replace @{msExchMailboxGuid=$([System.Guid]"f750b85a-ebae-48ec-9add-2224df22000a").ToByteArray()}

将上述示例中的用户名和 GUID 替换为您自己的值。

相关内容