使用 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

阅读更多 →

如何使用 Ansible 管理 Windows 机器

Ansible 是流行的免费开源配置管理系统,主要用于管理 Linux 主机。本文介绍如何使用 Ansible 远程管理 Windows 服务器和工作站主机的配置。

为 Ansible 配置 Windows 主机

Ansible 允许您远程管理具有所有支持的操作系统版本的 Windows 主机,从 Windows 7/Windows Server 2008 开始到最新的 Windows 11/Windows Server 2022。在 Windows 上,您必须拥有 PowerShell 3.0(或更高版本)和 .NET 4.0 +已安装。

检查 Windows 上的 PowerShell 和 .Net Framework 的版本,并根据需要进行更新(请参阅如何更新 Windows 中的 PowerShell)。

Ansible 使用 WinRM 连接到 Windows 操作系统。因此,您需要在所有托管 Window

阅读更多 →

如何在 Ubuntu 中增加磁盘分区的大小

如果您有 Ubuntu Linux 虚拟机,您很可能需要扩展虚拟硬盘并增加来宾操作系统中的分区。默认情况下,Ubuntu 安装程序为操作系统提供使用逻辑卷 (LVM),因此我们将研究如何扩展 LVM 分区。

首先,您需要增加虚拟机管理程序上虚拟硬盘的大小。

以下是增加不同虚拟机管理程序中虚拟磁盘大小的方法:

  • 如何增加VMware虚拟机磁盘大小

  • 如何在 Hyper-V 上扩展或收缩 VM 磁盘

  • 扩展KVM虚拟机磁盘大小

增加 VM 磁盘大小后,必须扩展 Linux 来宾操作系统分区(本示例中为 Ubuntu 22.04 LTS)。强制重新扫描磁盘,让你的 Ubuntu 看到增加的磁盘空间:

使用cfdisk 阅读更多 →

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

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

通过 PowerShell 获取 Teams 用户状态

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

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

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

阅读更多 →

在 VMware ESXi 中重置 Root 密码

根据 VMware 官方文档,从头开始重新安装 ESXi 是重置 root 密码的唯一受支持的方法 (https://kb.vmware.com/s/article/1317898)。您还可以使用主机配置文件重置密码(需要 vCenter 和 Enterprise Plus 许可证)。但是,重新安装后,您的 ESXi 主机配置将完全丢失。虚拟机数据和配置文件保留在VMFS/NFS数据存储上,重新安装后可以快速导入到主机。

实际上,如果您使用任何 Linux 启动/救援磁盘启动主机,则可以在 VMware ESXi 上重置 root 密码,而无需重新安装。这并不难。

如果您忘记了 root 密码,您将无法使用 DCUI 或 VMware Host Client Web 界面以 root 身份进行身份验证:

Authentication failed Invalid login or password.

阅读更多 →

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 "

阅读更多 →

使用 Windows 事件查看器日志跟踪打印机使用情况

在 Windows 中,您可以使用事件查看器跟踪打印机的使用情况。发送到打印后台处理程序的所有打印作业都记录在事件查看器中。如果您在 Windows 上部署了打印服务器,则可以使用这些日志来组织一个简单的打印审核解决方案,使您能够了解谁在您的打印机上打印、何时打印以及打印了多少页。

在本文中,我们将展示如何在 Windows 中启用和配置打印事件日志记录、在事件查看器中查看打印历史记录以及使用 PowerShell 搜索或筛选打印事件。

如何在 Windows 中启用打印日志记录

Windows 有一个单独的事件查看器日志,其中记录了所有打印事件:

。但是,默认情况下此日志是禁用的。要在 Windows 上启用打印日志记录:

  1. 打开事件查看器(

    eve

    阅读更多 →

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

阅读更多 →

在 Windows 上使用 WPAD(Web 代理自动发现协议)

WPAD(Web 代理自动发现)协议允许您轻松配置网络中客户端的代理设置。 WPAD 背后的想法是,客户端可以使用 DHCP 和/或 DNS 来查找网络上具有带有代理设置的 PAC 配置文件的 Web 服务器(

)。

创建代理自动发现文件 (wpad.dat)

特殊的PAC(代理自动配置)文件描述了使用代理的规则。 PAC 文件预定义名称为 wpad.dat。此文件包含确定客户端在连接到特定资源(HTTP、HTTPS 或 FTP)时是否必须使用代理服务器或直接访问它的规则。

wpad.dat 文件中使用了 Javascript 语法。您可以设置默认代理服务器地址,以及客户端何时应该(或不应该)使用代理进行连接的不同例外和规则。

让我们看一个 wpad.d

阅读更多 →