使用 PowerShell 在 Windows 10/11 中安装语言包

在现代版本的 Windows 11 22H2 和 Windows 10 21H2+ 中,可以使用 PowerShell 安装和管理语言包和语言界面语言包 (LIP)。在以前的 Windows 版本中,添加或删除语言包的唯一方法是使用经典的控制面板或设置用户界面(快速 URI 访问命令:

)。

在最新版本的 Windows 中,添加了内置 PowerShell 模块 LanguagePackManagement。您可以使用此模块中的 cmdlet 安装可选的 Windows 语言包并设置 Windows 用户界面的首选语言。

LanguagePackManagement 模块目前仅在 Windows 桌面版本中可用,在 Windows Server 2022/2019 上不可用。

您可以查看模块中可用 cmdlet 的列表:

Get-Comman

阅读更多 →

如何使用 PowerShell 查询和更改团队用户的状态

在对某些集成脚本执行特定操作之前,可能需要检查用户在 Microsoft Teams 中的状态(在线/离开/忙碌)。让我们看看如何使用 Microsoft Graph API 和 PowerShell 获取和更改 Teams 中用户的状态。

通过 PowerShell 获取 Teams 用户状态

如果您的计算机上安装了 Microsoft.Graph 模块,请使用您的帐户连接到您的租户:

如果未安装Microsoft.Graph,可以按如下方式安装:

指定您要获取其状态的用户的 UPN:

阅读更多 →

PowerShell:为 Exchange Online (Azure) 配置基于证书的身份验证

Microsoft Entra ID(例如 Azure AD)支持基于证书的身份验证 (CBA)。这意味着你可以使用证书身份验证自动运行 PowerShell 脚本,无需输入密码,也无需使用 Azure MFA。借助基于证书的身份验证,您不再需要担心在 PowerShell 脚本中安全存储密码或通过 SecretManagement 模块使用第三方保管库存储。

以下介绍了如何使用证书从 PowerShell 脚本针对 Microsoft Entra ID (Azure AD) 和 Exchange Online 进行身份验证。

您必须首先创建一个证书并将其安装在您的计算机上。您可以从 CA 获取证书或颁发自签名证书。在此示例中,我们将使用 New-SelfSignedCertificate cmdlet 创建自签名证书。

生成有效期为3年的自签名证书:

$certvalid = (Get-Date).AddYears(3) $newcert = New-SelfSignedCertificate -DnsName "

阅读更多 →

Zabbix:如何从 PowerShell 脚本获取数据

在本文中,我们将了解配置 Zabbix Agent 以从 PowerShell 脚本检索监控数据。让我们看一下两个 PowerShell 脚本,用于将一些数据输入 Zabbix。第一个返回 Windows RDS 服务器上的活动 RDP 用户会话数,第二个返回自上次在服务器上安装 Windows 更新以来的天数。

Zabbix 代理具有两个用于从外部 PowerShell 脚本检索数据的功能:

  • 代理配置文件中的UserParameter选项允许您执行PowerShell代码。如果使用此选项,则必须启用 UserParameter 选项并将 PS1 脚本文件复制到每个 Windows 主机。

  • 您可以使用system.run运行PowerShell脚本。这允许您直接在 Zabbix Web 界面中指定 PowerShell 脚本,并可以运行任意命令。

让我们从使用 UserParameter 运行 PowerShel

阅读更多 →

使用 Microsoft Graph API 和 PowerShell 发送电子邮件

要从 PowerShell 脚本通过 SMTP 服务器发送电子邮件,您可以使用内置的 Send-MailMessage cmdlet。它的主要缺点是它只能使用基本 SMTP 身份验证,不支持现代身份验证方法,包括 OAuth 和 Microsoft 现代身份验证。当你运行

在新版本的 PowerShell Core 7.x 中运行命令时,您会收到以下警告:

WARNING: The command 'Send-MailMessage' is obsolete. This cmdlet does not guarantee secure connections to SMTP servers. While there is no immediate replacement available in PowerShell, we recommend you do not use Send-MailMessage at this time. See https://aka.ms/SendMailMessa

阅读更多 →

如何使用 PowerShell 导出 MS Teams 聊天历史记录

在本文中,我们将了解如何使用 PowerShell 访问和导出 Microsoft Teams 聊天对话的历史记录。

Teams 聊天存储在共享邮箱中隐藏的对话历史记录\Team Chat 文件夹中,该文件夹是在您创建新的 Microsoft 365 组时自动创建的(这将立即创建 Teams 组、网站、 SharePoint Online 库、Yammer 组等)。

您可以阻止 Microsoft 365 租户的用户创建新的 Teams 组。

但是,您无法使用 Outlook 或其他应用程序访问包含 Teams 聊天历史记录的受保护文件夹。您可以使用安全与合规中心中的内容搜索将 Exchange Online 邮箱的内容导出到 PST 文件,然后在 Outlook 中连接该 PST 文件。但不太方便。使用 PowerShell 获取 Teams 聊天消息列表要容易得多。

要连接到 Microsoft 365 租

阅读更多 →

从 PowerShell 脚本发送 Telegram 消息

您可以使用 Telegram Messenger 作为通知工具来获取有关各种基础设施事件、脚本执行结果或调度程序任务的即时报告。本文向您展示如何使用 PowerShell 通过 Bot API 向 Telegram 频道或组发送文本通知。

首先,使用以下命令创建一个新的 Telegram 机器人

。在 Telegram 客户端中找到它并向其发送以下命令:

指定机器人的名称和用户名。 BotFather 将生成一个 HTTP 令牌,您必须复制并保存该令牌。

阅读更多 →

在 Exchange 中使用 PowerShell 获取所有 SMTP(电子邮件)地址

有时,您可能需要导出 Exchange 组织中的电子邮件地址的完整列表。在本文中,我们将展示如何使用 PowerShell 获取所有分配的 SMTP 地址并将其导出到 Exchange Server 或 Microsoft 365 (Exchange Online) 中的 CSV 文件。

连接到您的 Exchange 组织:

  • 您可以使用 Exchange Management Shell (EMS) 模块来管理本地 Exchange Server,也可以从常规 PowerShell 控制台远程连接到 Exchange;

  • 使用 Exchange Online PowerShell 模块 (EXO) 连接 Microsoft 365 租户。

    您可以使用基于证书的身份验证从 PowerShell 中登录 Exchange Online。

要查看特定 Exchange 邮箱的所有主 SMTP 地址和附加 SMTP

阅读更多 →

使用 PowerShell 列出和删除 Exchange 邮箱中的日历事件

PowerShell 允许您访问 Exchange 用户日历中的事件和会议项目。在这篇文章中,我们将了解如何获取日历事件列表或从 Exchange Server 或 Microsoft 365 组织上的所有用户的日历中删除特定事件/约会。

如何在 Exchange Online (Microsoft 365) 中列出和读取用户日历事件

首先,我们来看看如何获取 Exchange Online (Microsoft 365) 用户邮箱中的日历事件列表。 Microsoft Graph API 可以检索有关用户日历中的项目的信息。首先在 Azure 中注册一个新应用程序(Microsoft Entra ID -> 应用注册 -> 新注册)并为其授予以下 Microsoft Graph 权限:

<

阅读更多 →

使用 Microsoft Graph PowerShell 注册新应用程序

在这篇文章中,我将向您展示如何使用 Microsoft Graph PowerShell 和 Invoke-MgGraphRequest cmdlet 在 Microsoft Entra 中创建新应用程序。这使您可以创建新的应用注册,而无需额外依赖 Microsoft.Graph.Applications 模块。

要求

要在 Microsoft Graph PowerShell 中创建应用程序注册,您首先需要确保已安装 Microsoft.Graph.Authentication 模块。这允许您使用 Connect-MgGraph 和 Invoke-MgGraphRequest cmdlet。

您还需要访问全局管理员帐户,以同意 Microsoft Graph 命令行工具应用程序所需的权限。

阅读更多 →