PowerShell 技能连载 - 本地大模型运维助手

适用于 PowerShell 7.0 及以上版本,需要安装 Ollama

数据安全和隐私合规要求使得很多企业无法使用云端 AI 服务。本地部署的大语言模型(如通过 Ollama 运行的 Llama、Qwen、DeepSeek 等)提供了完全内网的 AI 能力——日志智能分析、故障根因推理、脚本自动生成、配置合规审查,所有数据不出内网。结合 PowerShell 的系统管理能力和本地 AI 的推理能力,可以构建强大的智能运维助手。

本文将讲解如何使用 PowerShell 构建基于本地大模型的运维自动化工具。

阅读更多

PowerShell 技能连载 - 网络共享管理

适用于 PowerShell 5.1 及以上版本

网络共享是 Windows 文件服务器最核心的功能,几乎每家企业都依赖 SMB 共享来分发文件、协作办公和存储数据。管理网络共享涉及创建和删除共享、配置访问权限、监控连接状态、审计文件访问等多个维度。随着数据安全法规(如 GDPR、数据安全法)的推行,对共享文件夹的精细化权限管理和访问审计变得越来越重要。

PowerShell 提供了 SmbShareSmbAccess 系列模块,以及 System.IO 和 ACL(Access Control List)管理 API,能够全面管理网络共享的方方面面。本文将介绍如何使用 PowerShell 实现共享的创建、权限配置、连接监控和访问审计。

阅读更多

PowerShell 技能连载 - Windows 更新自动化管理

适用于 PowerShell 5.1 及以上版本

操作系统补丁管理是企业安全运维的基石。未打补丁的系统是勒索软件和漏洞攻击的首要目标,每一次重大的安全事件背后几乎都有”未及时安装更新”的影子。然而,Windows 更新管理远比点击”检查更新”复杂得多——需要控制更新时机、筛选更新类别、处理重启策略、验证安装结果,并在多台服务器上保持一致性。

PowerShell 通过 Microsoft.Update.Session COM 对象和 PSWindowsUpdate 模块提供了完整的 Windows 更新编程接口。本文将介绍如何使用 PowerShell 实现 Windows 更新的查询、安装、回滚和自动化管理。

阅读更多

PowerShell 技能连载 - 磁盘清理自动化

适用于 PowerShell 5.1 及以上版本

磁盘空间不足是运维中最常见的问题之一。日志文件堆积、临时文件未清理、回收站膨胀、Windows 更新缓存占用等问题,如果不加以管理,迟早会导致系统异常甚至服务中断。在容器化和虚拟化环境中,磁盘资源更是需要精打细算,自动化的磁盘清理机制必不可少。

手动清理磁盘既低效又容易遗漏,而且无法做到定期执行。通过 PowerShell 脚本可以精确定位各类可清理的目标,量化空间占用,并在安全的前提下自动执行清理操作。本文将介绍如何构建一个全面的磁盘清理自动化方案。

阅读更多

PowerShell 技能连载 - 凭据自动轮换

适用于 PowerShell 5.1 及以上版本

在信息安全领域,凭据管理是最基础也最重要的环节之一。无论是服务账户密码、API 密钥还是数据库连接字符串,长期不变的秘密都是潜在的安全隐患。越来越多的安全合规标准(如 PCI DSS、SOC 2)要求定期轮换密码,人工操作不仅容易遗漏,还可能在交接过程中引入风险。

自动化凭据轮换可以确保密码按策略定期更换,并将新密码安全地同步到所有需要的地方。PowerShell 结合 Windows 凭据管理 API 和 Azure Key Vault 等服务,能够构建端到端的凭据轮换工作流。本文将介绍如何用 PowerShell 实现凭据的安全存储、自动生成和轮换管理。

阅读更多

PowerShell 技能连载 - MSI 安装包自动化部署

适用于 PowerShell 5.1 及以上版本

在企业环境中,软件部署是最常见的运维任务之一。MSI(Microsoft Installer)是 Windows 平台上标准的安装包格式,几乎所有企业级软件都提供 MSI 分发方式。手动安装不仅耗时,而且在批量部署场景下几乎不可行。通过 PowerShell 自动化 MSI 安装,可以实现静默安装、参数化配置、日志记录和错误处理,大幅提升部署效率。

随着 DevOps 和基础设施即代码(IaC)理念的普及,将软件安装纳入版本控制的自动化流程已成为标准实践。本文将介绍如何使用 PowerShell 调用 msiexec.exe 完成 MSI 包的自动化安装、卸载和状态检测。

阅读更多

PowerShell 技能连载 - JSON Schema 验证

适用于 PowerShell 7.0 及以上版本

JSON 已经成为配置文件和 API 数据交换的事实标准,但 JSON 本身不包含类型和结构约束——一个字段应该是字符串还是数字、一个数组至少有几项、哪些字段是必填的,这些都需要额外的验证。JSON Schema 是一套标准的 JSON 结构描述语言,可以精确验证 JSON 数据的格式和内容。结合 PowerShell 的 JSON 处理能力,可以构建可靠的配置验证系统。

本文将讲解如何在 PowerShell 中实现 JSON Schema 验证和实用的数据校验工具。

阅读更多

PowerShell 技能连载 - Windows 事件转发

适用于 PowerShell 5.1 及以上版本(Windows),需要管理员权限

在企业环境中,每台 Windows 服务器都在本地记录事件日志。当需要排查跨服务器的问题时,逐台登录查看日志效率极低。Windows 事件转发(WEF,Windows Event Forwarding)可以将多台服务器的事件日志集中转发到收集器服务器,实现集中化日志管理。结合 PowerShell 的日志查询能力,可以构建强大的安全监控和故障排查平台。

本文将讲解如何使用 PowerShell 配置和管理 Windows 事件转发。

阅读更多

PowerShell 技能连载 - TCP/UDP 网络客户端

适用于 PowerShell 5.1 及以上版本

虽然 Invoke-WebRequestInvoke-RestMethod 可以处理 HTTP 请求,但很多网络协议不走 HTTP——Redis、MySQL、SMTP、自定义 TCP 协议等。通过 .NET 的 System.Net.Sockets 命名空间,PowerShell 可以直接操作 TCP/UDP Socket,实现底层网络通信。这对于端口探测、协议测试、自定义服务监控等场景非常有用。

本文将讲解 PowerShell 中的 TCP/UDP 客户端编程和实用的网络工具。

阅读更多

PowerShell 技能连载 - 服务依赖分析与启动顺序

适用于 PowerShell 5.1 及以上版本

Windows 系统中的服务并非孤立运行,许多服务之间存在依赖关系。例如,Web 服务可能依赖 IIS,IIS 又依赖 HTTP.sys 驱动服务;数据库服务可能依赖远程过程调用(RPC)和事件日志服务。当需要批量重启服务、排查启动失败或规划系统迁移时,理清服务之间的依赖链条至关重要。

手动查阅服务的”依赖”选项卡效率低下,尤其是面对多层嵌套的依赖关系时。PowerShell 可以通过 WMI 和 Get-Service 等原生命令递归遍历服务依赖树,自动生成启动顺序报告,甚至可以一键按正确顺序停止和启动一组相互依赖的服务。

本文将介绍如何使用 PowerShell 分析 Windows 服务依赖关系,并生成可视化报告和自动化启停脚本。

阅读更多
PowerShell 技术 QQ 群