问题标签 [exchange-management-shell]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
61 浏览

powershell - 使用基于 AD 登录名 (SAMAccountName?) 的 Exchange 命令行管理程序清除邮箱

我有一个包含 150 - 200 个 AD 登录名(SAMAccountNames?)的 CSV,我需要遍历每个用户并清除他们的邮箱。

我可以使用这个命令来做到这一点

但问题是我需要能够使用 AD 登录名,因为我没有身份?

0 投票
1 回答
27 浏览

exchange-server-2010 - Exchange 命令行管理程序条输出

Exchange 2010,我在 Exchange Management Shell 中使用以下内容 $mailidentities = Get-Mailbox | Get-MailboxPermission | where {$_.identity.tostring() -like "* STAFF/*" -and $_.identity.tostring() -NotLike "*Ex_Staff*" -and $_.User.tostring() -like "*SELF*" -and $_.IsInherited -eq $false} | Select-object Identity foreach ($mailidentity in $mailidentities) { Write-Host "$mailidentity" }

返回结果 @{Identity=domain/Group/UserName} 什么是正确的语法才能返回domain/Group/UserName?最终结果是为每个用户分配对监督邮箱的完全访问权限。

0 投票
0 回答
39 浏览

powershell - 在 Exchange 命令行管理程序中运行的 Powershell 脚本中无法正确捕获错误。在常规 Powershell shell/CLI 中运行时正确捕获

我有一个通过 Exchange 命令行管理程序运行的 Powershell .ps1 脚本。在测试和编写脚本时,它运行良好。带有“-ErrorAction 'stop'”的 try 块中的 Cmdlet 在出错时正确地进入 catch 块。

但是,当脚本通过 Exchange 命令行管理程序运行时,错误不会正确地陷入困境。cmdlet 上的 -ErrorAction 也可能是“继续”,它们输出到屏幕并继续,就好像没有错误一样,因此根本不运行 catch 块。

为什么在 EMS 中运行的脚本无法正确捕获错误,而在 Powershell ISE 或常规 Powershell shell/CLI 中运行时它确实捕获了错误?

0 投票
0 回答
608 浏览

powershell - 在 PowerShell 中使用反序列化的 Exchange 2013 PSSession

我为 Exchange 2013 服务器创建了一个New-PSSessionto a ConnectionUri,但看到会话的类型是Deserialised. 此反序列化会话不能由Invoke-CommandEnter-PSSession使用Import-PSSession

我该如何消费Deserialised PSSession?我的目标是查看Get-Queue交换服务器的。

下面的代码:

引发以下错误:

0 投票
2 回答
16938 浏览

powershell - 列出用户在 Exchange 2013 中有权访问的所有邮箱?

是否可以运行命令来生成用户具有完全访问权限的邮箱列表?

我找到了一些可以尝试在 PS AD 模块中运行的东西,但是输出没用。

有人有什么吗?

0 投票
0 回答
1373 浏览

powershell - PowerShell:Exchange 命令行管理程序:无法执行变量以修改多值变量 EmailAddresses

当您使用 UPN 调用该函数时,结果将如下所示:

我正在尝试在下面的 cmdlet 中调用该函数。

我得到以下输出:

我尝试了以下方法:

以上都没有奏效,alternative-3 也给了我以下错误:

请帮助我找出为什么我无法在 -EmailAddresses 中执行变量/函数。

0 投票
1 回答
1402 浏览

powershell - Powershell 加速 Get-MessageTrackingLog

目前,我正在尝试获取所有禁用用户的输出及其消息计数作为交换。这很容易通过 foreach 循环:

问题是这需要几个小时才能完成,因为它一次只运行一个用户。我的目标是通过作业或并行运行多个查询。由于交换服务器的策略限制,这需要以 10 个块为单位运行。

编辑(有关原因的更多信息):

查找用户的消息计数的原因是,他们被禁用并且坐在禁用的 OU 中。这样做的原因是他们的邮件转发给另一个收件人。或者,他们的邮箱已被委派。这是用于管家的。此搜索的结果将由 MessageCount = 0 过滤。然后它将被报告/保存为 csv/users 已删除。

披露:我对运行作业或在 powershell 中并行运行非常无知。而且,我的 google-foo 似乎坏了。对此的任何指导或帮助将不胜感激。

版本信息:

更新:

在遵循 Shawn 的指导后,我成功地大大加快了这些请求的速度。

更新代码:

我遇到的问题是每个用户(最后 3 个用户除外)都显示 0 作为消息计数。我知道这是错误的。这难道不是在等待 Get-MessageTrackingLog -sender 的查询完成吗?

示例(总共 77 个用户):

除了最后三个节目之外的所有节目:

邮箱:ab@something.com

禁用日期:02/08/2018

登录:ab

类型 : OnPrem

用户:a,b

地点 : 爱荷华州克利尔菲尔德

收到的消息:0

0 投票
0 回答
47 浏览

powershell - Powershell/Exchange 管理控制台

由于用户请求,我试图从交换管理外壳更改 ExternalDsnMaxMessageAttachSize 属性。当我运行以下命令时:

它完美地工作。

当我在 powershell 中运行与管理员相同的命令时,它不会运行,并且最终不会进行任何更改。

至少可以说我是一个 powershell 新手,但是我在这里遗漏了什么吗?

有没有办法可以推动这些变化?

0 投票
2 回答
9973 浏览

powershell - 如何获取用户有权访问 Exchange2010 的所有共享邮箱的列表 Exchange 命令行管理程序还是 PowerShell?

获取邮箱 | 获取邮箱权限-用户

获取邮箱 | Get-MailboxPermission -user | 其中 {$_.AccessRights -like "发送为*"}

获取邮箱 | 获取 ADPermission | 其中 {$_.extendedRights -like " send-as "}

以上所有命令都对我不起作用

0 投票
2 回答
2489 浏览

powershell - 将调用命令脚本块与交换管理 shell 一起使用

我编写了一些脚本来自动化一些用户添加和用户修改功能。但是我无法弄清楚这个难题的最后一个部分。

我需要从本地 powershell 会话在交换服务器上的交换管理 shell 中运行一些命令,例如调用命令脚本块。

这可能吗?

将添加 Add-PSSnapin Microsoft.Exchange.Management.PowerShell.SnapIn

到我的脚本块的开头来完成这个?