【问题标题】:How to get all the account details using Get-MailBox如何使用 Get-MailBox 获取所有帐户详细信息
【发布时间】:2012-01-10 04:00:58
【问题描述】:

我知道这是个愚蠢的问题,但我是 Powershell cmdlet 的新手。

我想要邮箱用户的所有详细信息。我正在使用Get-MailBox,但我只是在那里获得别名和名称,但我想要所有详细信息。我什至找不到任何参数。有什么办法吗?谢谢

【问题讨论】:

  • 你还想要什么其他细节?
  • 我想要名字、姓氏和几乎所有的属性。因为我们在名字和姓氏的帮助下创建电子邮件地址,所以我不能只更改名字和姓氏不同的电子邮件地址。我希望你能理解。谢谢。

标签: c# .net powershell asp.net-3.5 exchange-server


【解决方案1】:

如果您是PowerShell 的新手,我建议您查看here 的一些资源。除此之外,您可能还想使用Get-MemberSelect-Object 和/或Format-List。也许做类似的事情:

PS> Get-MailBox | Get-Member

大量属性和方法将滚动显示,您可以使用类似的方式选择您希望查看的属性

PS> Get-MailBox | Select-Object Alias

要获取所有可用信息,您可以使用 Format-List* glob,如下所示:

PS> Get-MailBox | Format-List *

我无法访问 Exchange 环境,因此恐怕无法提供任何具体示例。

【讨论】:

  • 感谢您的大力帮助,它与 Powershell 配合得很好。现在我使用该命令获取所有详细信息。现在我正在 C# 中寻找合适的代码。由于 Format-List 不是参数,我很困惑如何用 C# 编码。
  • 这是解决方法 Command cmdSetMailbox = new Command("Get-MailBox"); cmdSetMailbox.Parameters.Add("身份", txtName.Text);命令 cmd = new Command("Select-Object");字符串[] 参数 = 新字符串[] {"别名","DisplayName"}; cmd.Parameters.Add("Property",Parameter);
【解决方案2】:

您要存储/检索的数据可能位于 Active Directory 中。 Exchange 几乎用于交换特定功能

我正在使用 Server 2012 R2 并使用以下代码,因为我很懒。将整个命令复制在一起,因此请忽略此站点上的自动换行。我在这里发布这个是因为我总是忘记我做了什么,并不断地来这里进行随机搜索。

在域控制器上以管理员身份启动 Powershell 窗口

Get-ADUser -F * -PR * | Select 
Name,Title,Enabled,LockedOut,OfficePhone,MobilePhone,Fax,office,EmployeeID,Company | Out-GridView

这里还有一些随机有用的 Exchange 命令,您可以进行比较。 要查看用户可以使用哪些信息,只需拉取所有内容。 从以具有权限的用户身份登录的 Exchange 服务器..

启动 Exchange Powershell

Get-Mailbox | Format-List *

为阳光下的每个用户提供一切。用以下方式限制它。

Get-Mailbox %useralias% | Format-List *

如果您想要的字段不在这里,那么它很可能存储在活动目录中。

【讨论】:

  • Out-GridView 为每个对象打开了一个新的 powershell 窗口。如果列表足够长,这可能会使您的服务器因 RAM 使用而崩溃。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-09-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多