问题标签 [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 投票
0 回答
124 浏览

powershell - 在 hta 中加载 Windows 时启动 PsSession

我有一个 500 多行的 vb 脚本。HR 正在使用它来设置一些 AD 属性。现在我需要使用 Exchange Powershell 管理工具的 Set-UserPhoto cmdlet。我不想在 powershell 中重写所有脚本。在脚本启动时,我想调用加载非常慢的 Exchange Powershell。然后在脚本调用 Set-UserPhoto 期间。

按保存按钮时,它无法识别 Set-UserPhoto cmdlet。如何保持从第一个命令到脚本结束的第一个 powershell 会话?

0 投票
1 回答
313 浏览

powershell - 如何获取交换电子邮件队列的通知

当我的交换队列达到最大消息数时,我想获得有关 get-queue 的完整详细信息的通知,这就是我现在拥有的内容,它为您提供了详细信息,但格式不正确。

这是我收到通知时格式不明确的输出:-

0 投票
1 回答
1116 浏览

c# - 如何使用 C# 或 PowerShell 知道用户在 Exchange 上是否有邮箱

我们开发了一个 SharePoint Web 部件,它通过为在 Office 365 上拥有邮箱的用户请求 Exchange OnPrem 2013 或 Exchange Online 来显示选定用户的日历项目。我们使用的代码如下:

问题是当用户在 Exchange OnPrem 上没有邮箱时,该exchangeServiceBinding.FindItem方法会在 3 到 5 秒后回复错误代码“UserHasNoMailbox”。

想象一下现在加载一个有 40 多个用户的页面,其中有 10 个用户在 Exchange Online 上拥有邮箱,在这种情况下我们至少损失了 30 秒。

有没有办法知道用户在 Exchange OnPrem 上是否有邮箱而不提出FindItem请求?

谢谢。

0 投票
1 回答
148 浏览

powershell - Exchange 命令行管理程序 - Exchange 2010 - 使用 DateRange 导出到 PST 忽略筛选

我会详细说明一下标题。

我目前正在创建一个脚本以将 Exchange 2010 上的邮箱导出到 PST,仅来自特定日期范围的电子邮件。

但是,它似乎忽略了过滤器并将所有 37gb 导出到 PST。

我正在创建脚本以防止将来不得不这样做。我将在下面发布脚本,因为由于变量等,它都与问题相关。

对批量道歉,我个人看不到错误。

0 投票
1 回答
191 浏览

string - 将逗号分隔的字符串传递给 Add-UnifiedGroupLinks 时出错,导致“找不到对象”错误

我正在尝试使用 Add-UnifiedGroupLinks 批量加载 Office 365 组,如果仅将一个值作为字符串传递但该命令支持逗号分隔列表,则该组有效。但是,当将逗号分隔的字符串传递给它时,它会返回“找不到对象”user1@domain.com,user2@domain.com”

我可以通过一次只运行一个用户来让它工作,但它要慢得多,并且基于大量用户并不能真正满足我的需求。我可以获取我构建的字符串并从中复制和粘贴,然后手动运行同一行代码,它可以正常工作。我也试过一次只有 3 或 5 个用户,但同样的问题。

注意:我有额外的代码来处理循环运行后的剩余部分,但与手头的问题无关。

它返回Couldn't find object "user1@domain.com,user2@domain.com"。但是,如果我手动运行此行,它可以工作:

Add-UnifiedGroupLinks –Identity "MyGroupName" –LinkType Members –Links user1@domain.com,user2@domain.com

或者,如果我一次做一个,它会起作用:

但是当使用超过 20K 用户时,最后一个选项的性能很糟糕,平均每小时大约 400 个(每 9 秒左右一个)。

0 投票
0 回答
332 浏览

powershell - Microsoft 文档给出的 Set-MalwareFilterPolicy 示例失败

我正在尝试将文件类型添加到 Exchange Server 2019 恶意软件策略。为此,我遵循https://docs.microsoft.com/en-us/powershell/module/exchange/antispam-antimalware/set-malwarefilterpolicy?view=exchange-ps中显示的 Microsoft 文档

示例 2 正是我所需要的:

不幸的是,当我在 Exchange 命令行管理程序中执行该示例时,我收到以下错误消息:

找不到与参数名称“EnableFileFilter”匹配的参数。+ CategoryInfo:InvalidArgument:(:) [Set-MalwareFilterPolicy],ParameterBindingException + FullyQualifiedErrorId:NamedParameterNotFound,Set-MalwareFilterPolicy + PSComputerName:exchange.bndt.local

我在本地 Windows Server 2016(完全最新)上运行 Exchange Server 2016 (CU14)。我不明白什么是错的。

任何帮助表示赞赏。

问候

0 投票
1 回答
1179 浏览

powershell - 导出所有公用文件夹的电子邮件地址

我有一大群公用文件夹。每个文件夹至少有 3 个最多 20 个电子邮件地址,这些地址将指向该公用文件夹。

我尝试编写一个 ExchangeManagementShell 脚本来将电子邮件地址提取到 CSV 文件中。提取它们的命令执行我希望它在 powershell 窗口中执行的操作,但是当它进入 CSV 时,它只显示一行没有任何意义的文本。

我得到的只是

重复 49 次。

任何帮助都将不胜感激。

0 投票
0 回答
42 浏览

powershell - 使用 powershell 打开或关闭所有邮件流规则

我在 Exchange 2013 服务器中有 128 个 MailFlow 规则。我正在寻找一种使用 powershell 脚本打开或关闭所有规则的方法。

我知道我可以使用

关闭规则。

我的问题是尝试将其合并到带有 powershell 的循环中。我只是不了解powershell语言。我已经阅读了有关循环并尝试使用以下变体:

但是,循环失败并出现 2 或 3 个错误。任何人都可以提供帮助,或者是否有人有任何不错的 Powershell 教程链接,以便我可以自学 powershell 循环和编码。

0 投票
2 回答
80 浏览

adal - 获取 Exchange 命令行管理程序 cmdlet 的 OAuth2 访问令牌

在我们的 python 应用程序中,我们使用 Exchange 命令行管理程序 cmdlet 来执行一些任务。(事实上​​,python 应用程序运行 .Net 应用程序,它调用 Exchange 命令行管理程序 cmdlet。)目前我们使用 New-PSSession cmdlet 的基本身份验证。另一方面,我们已经为不同的 API 和资源获取了 OAuth2 访问令牌。现在我们想将 OAuth2 身份验证与 Exchange 命令行管理程序 cmdlet 一起使用。

我们看过这篇文章[1]。

但是我们有几个问题:

  1. 有没有办法在不使用 ADAL 和 MSAL 的情况下获取访问令牌?
  2. 有没有办法使用刷新令牌获取新的访问令牌?
  3. 似乎没有机会使用外部(系统)浏览器,不是吗?先感谢您。

[1] https://developermessaging.azurewebsites.net/2018/09/07/acquiring-oauth2-access-tokens-for-automating-exchange-management-shell-cmdlets/?unapproved=96&moderation-hash=9250fbdda0e11fd8af9bafd4c3576139#review- 96

0 投票
0 回答
602 浏览

powershell - New-MailboxExportRequest 按日期范围

我正在尝试从邮箱中导出项目,在 Exchange 2016 的某个日期之间发送和接收。但是脚本一直失败,没有错误消息。不知道我哪里错了......

上面的当前脚本。

需要已发送和已接收,我认为这会将接收更改为已发送,但日期范围仍然不起作用。已经意识到它似乎讨厌英国约会。

任何帮助将不胜感激。