问题标签 [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.
powershell - 使用基于 AD 登录名 (SAMAccountName?) 的 Exchange 命令行管理程序清除邮箱
我有一个包含 150 - 200 个 AD 登录名(SAMAccountNames?)的 CSV,我需要遍历每个用户并清除他们的邮箱。
我可以使用这个命令来做到这一点
但问题是我需要能够使用 AD 登录名,因为我没有身份?
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
?最终结果是为每个用户分配对监督邮箱的完全访问权限。
powershell - 在 Exchange 命令行管理程序中运行的 Powershell 脚本中无法正确捕获错误。在常规 Powershell shell/CLI 中运行时正确捕获
我有一个通过 Exchange 命令行管理程序运行的 Powershell .ps1 脚本。在测试和编写脚本时,它运行良好。带有“-ErrorAction 'stop'”的 try 块中的 Cmdlet 在出错时正确地进入 catch 块。
但是,当脚本通过 Exchange 命令行管理程序运行时,错误不会正确地陷入困境。cmdlet 上的 -ErrorAction 也可能是“继续”,它们输出到屏幕并继续,就好像没有错误一样,因此根本不运行 catch 块。
为什么在 EMS 中运行的脚本无法正确捕获错误,而在 Powershell ISE 或常规 Powershell shell/CLI 中运行时它确实捕获了错误?
powershell - 在 PowerShell 中使用反序列化的 Exchange 2013 PSSession
我为 Exchange 2013 服务器创建了一个New-PSSession
to a ConnectionUri
,但看到会话的类型是Deserialised
. 此反序列化会话不能由Invoke-Command
或Enter-PSSession
使用Import-PSSession
。
我该如何消费Deserialised
PSSession
?我的目标是查看Get-Queue
交换服务器的。
下面的代码:
引发以下错误:
powershell - 列出用户在 Exchange 2013 中有权访问的所有邮箱?
是否可以运行命令来生成用户具有完全访问权限的邮箱列表?
我找到了一些可以尝试在 PS AD 模块中运行的东西,但是输出没用。
有人有什么吗?
powershell - PowerShell:Exchange 命令行管理程序:无法执行变量以修改多值变量 EmailAddresses
当您使用 UPN 调用该函数时,结果将如下所示:
我正在尝试在下面的 cmdlet 中调用该函数。
我得到以下输出:
我尝试了以下方法:
以上都没有奏效,alternative-3 也给了我以下错误:
请帮助我找出为什么我无法在 -EmailAddresses 中执行变量/函数。
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
powershell - Powershell/Exchange 管理控制台
由于用户请求,我试图从交换管理外壳更改 ExternalDsnMaxMessageAttachSize 属性。当我运行以下命令时:
它完美地工作。
当我在 powershell 中运行与管理员相同的命令时,它不会运行,并且最终不会进行任何更改。
至少可以说我是一个 powershell 新手,但是我在这里遗漏了什么吗?
有没有办法可以推动这些变化?
powershell - 如何获取用户有权访问 Exchange2010 的所有共享邮箱的列表 Exchange 命令行管理程序还是 PowerShell?
获取邮箱 | 获取邮箱权限-用户
获取邮箱 | Get-MailboxPermission -user | 其中 {$_.AccessRights -like "发送为*"}
获取邮箱 | 获取 ADPermission | 其中 {$_.extendedRights -like " send-as "}
以上所有命令都对我不起作用
powershell - 将调用命令脚本块与交换管理 shell 一起使用
我编写了一些脚本来自动化一些用户添加和用户修改功能。但是我无法弄清楚这个难题的最后一个部分。
我需要从本地 powershell 会话在交换服务器上的交换管理 shell 中运行一些命令,例如调用命令脚本块。
这可能吗?
将添加 Add-PSSnapin Microsoft.Exchange.Management.PowerShell.SnapIn
到我的脚本块的开头来完成这个?