PowerShell 技能连载 - 日志分析与解析

适用于 PowerShell 5.1 及以上版本

日志分析是运维排障的核心技能。无论是 IIS 访问日志、应用程序错误日志、Windows 事件日志还是自定义的业务日志,快速定位问题需要高效的日志解析能力。PowerShell 的文本处理命令(Select-StringConvertFrom-Csv、正则表达式)结合对象管道,可以构建强大的日志分析工具链。

本文将讲解常见的日志格式解析方法、模式匹配技巧,以及实用的日志分析脚本。

阅读更多

PowerShell 技能连载 - Docker 容器管理

适用于 PowerShell 7.0 及以上版本

容器化已成为现代应用部署的标准方式。Docker Desktop 在 Windows 上的普及,使得运维人员需要将 Docker 管理纳入日常自动化工作流。虽然 Docker CLI 本身足够强大,但通过 PowerShell 的管道、对象处理和脚本能力,可以构建更灵活的容器管理方案——从批量操作到日志聚合,从健康检查到自动扩缩容。

本文将讲解如何用 PowerShell 高效管理 Docker 容器、镜像、网络和数据卷。

阅读更多

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

适用于 PowerShell 5.1 及以上版本(Windows)

在 Windows 上管理软件安装是运维工作中最繁琐的环节之一——每台服务器需要安装几十个工具和运行时,手动安装耗时且容易遗漏版本不一致。Windows Package Manager(winget)和 Chocolatey 的出现改变了这一局面,它们让 Windows 也拥有了类似 Linux apt-get / yum 的包管理体验。结合 PowerShell,可以实现软件的批量安装、版本锁定和自动更新。

本文将讲解 winget 和 Chocolatey 的 PowerShell 集成,以及如何构建标准化的软件清单。

阅读更多

PowerShell 技能连载 - 跨平台 PowerShell 实践

适用于 PowerShell 7.0 及以上版本(跨平台)

PowerShell 7 的跨平台能力是一个里程碑式的变化——同一套脚本语言可以在 Windows、Linux 和 macOS 上运行。对于管理混合环境的运维团队来说,这意味着只需学习一种语言就能管理所有平台。但跨平台并非”写一次到处运行”那么简单,不同操作系统的路径格式、包管理器、服务管理和服务发现机制都有差异。

本文将讲解跨平台 PowerShell 脚本的最佳实践,包括平台检测、路径处理、包管理适配和实用案例。

阅读更多

PowerShell 技能连载 - Just Enough Administration (JEA)

适用于 PowerShell 5.1 及以上版本(Windows)

在传统运维中,给某人”重启服务”的权限,往往意味着给他管理员权限——而管理员权限能做远不止于此。JEA(Just Enough Administration)是微软提供的安全技术,它允许你精确控制用户可以在远程会话中执行哪些命令,无需授予管理员权限。这对于外包团队、初级运维和审计合规场景尤为重要。

本文将讲解 JEA 的核心概念、如何创建和部署 JEA 端点、角色能力的定义,以及生产环境中的最佳实践。

阅读更多

PowerShell 技能连载 - 文件与注册表 ACL 管理

适用于 PowerShell 5.1 及以上版本(Windows)

Windows 的权限管理核心是访问控制列表(ACL,Access Control List)。无论是文件共享、网站目录还是注册表键,权限配置错误都可能导致数据泄露或服务中断。传统的 GUI 方式(右键→属性→安全)效率低下且容易遗漏,而 PowerShell 提供了完整的 ACL 管理能力,可以实现精确、可重复、可审计的权限配置。

本文将系统讲解 NTFS 文件权限和注册表权限的查看、修改、备份和批量管理。

阅读更多

PowerShell 技能连载 - 事件日志与系统监控

适用于 PowerShell 5.1 及以上版本(Windows)

Windows 事件日志是故障排查的”黑匣子”——系统崩溃、应用异常、安全审计、服务启停,几乎所有重要事件都会被记录到事件日志中。对于运维人员来说,能够高效地查询、筛选和分析事件日志是一项必备技能。PowerShell 提供了 Get-WinEvent 命令,其过滤能力远超传统的事件查看器 GUI。

本文将讲解事件日志的查询技巧、自动化监控脚本、性能计数器采集,以及如何构建系统健康检查工具。

阅读更多

PowerShell 技能连载 - 远程管理进阶

适用于 PowerShell 5.1 及以上版本(Windows)

在前面的文章中,我们介绍了 SSH 远程管理的基础用法。本文将深入 PowerShell 远程管理的进阶技巧,包括 WinRM 配置优化、会话管理、 constrained endpoints(受限端点)、远程调试,以及大规模并行远程操作的策略。

阅读更多

PowerShell 技能连载 - 网络编程与 REST API

适用于 PowerShell 5.1 及以上版本

在现代运维和自动化场景中,与 REST API 交互已成为 PowerShell 的核心能力之一——无论是调用云服务 API 管理 Azure/AWS 资源、与 GitHub/GitLab 交互管理代码仓库、对接企业内部的 ITSM 系统创建工单,还是查询第三方服务获取天气、汇率等数据,都离不开 HTTP 请求。PowerShell 内置的 Invoke-RestMethodInvoke-WebRequest 提供了强大且易用的 HTTP 客户端功能。

本文将从基础 HTTP 请求讲起,逐步深入到认证、JSON 处理、分页请求和错误重试等进阶话题。

阅读更多

PowerShell 技能连载 - 并行处理与 Runspace

适用于 PowerShell 5.1 及以上版本,ForEach-Object -Parallel 需要 PowerShell 7

PowerShell 默认是单线程顺序执行的——一个命令完成后再执行下一个。当需要处理数百台服务器、上千个文件或大量 API 请求时,串行执行的等待时间会线性增长。并行处理是解决这类性能瓶颈的关键手段,PowerShell 提供了多种并行方案,从简单到复杂依次为:Start-JobForEach-Object -Parallel、Runspace 池。

本文将对比这三种方案,并深入讲解 Runspace 池的高性能用法。

阅读更多
PowerShell 技术 QQ 群