“PowerShell”标签的文章
带有“PowerShell”标签的文章共 40 篇,按发布日期从新到旧排列。
-
在 C# / PowerShell 中使用 WMI/CIM ── 硬件信息获取・进程监控・远程查询实务指南
获取电脑序列号、监控磁盘剩余空间、检测进程启动,这些场景的经典方案就是 WMI/CIM。本文讲解 Get-CimInstance 等 CIM cmdlet 的用法与从旧版 Get-WmiObject 的迁移、C# 中 System.Management 与 CIM API 的使用区分,以及实用范例与常见陷阱。
-
组策略(GPO)实务入门 ── 原理、生效确认与和 Intune 的分工
还没搞清楚「用 GPO 配发」到底是什么意思,就在操作 AD 环境吗?本文从实务角度整理组策略的原理与 LSDOU 应用顺序、用 gpupdate、gpresult 确认生效情况、与 Intune 的分工,以及客户方 GPO 改变应用行为的陷阱。
-
Windows 安全审核策略与事件日志排查实务 ── 成为看得懂 4625 的信息系统人员
这是一份用于应对「帮忙查一下登录失败日志」需求的实务指南。内容涵盖基本审核策略与高级审核策略的关系、至少应启用的子类别、事件 ID 4624/4625/4688 的解读方法、Security 日志的容量设计,直至用 Get-WinEvent 提取日志。
-
Windows LAPS实务指南 ── 告别全部PC通用的本地管理员密码
全部PC通用的本地管理员密码,是「一台被攻破、全部沦陷」的Pass-the-Hash攻击温床。本文讲解已成为OS标准功能的Windows LAPS如何自动轮换密码、如何配置保存到AD/Entra ID,以及运维中的常见陷阱。
-
Windows证书存储实务指南 ── 应该放入用户存储还是计算机存储
客户端证书究竟应该放入用户存储还是计算机存储?本文从 certmgr.msc 与 certlm.msc 的区别、私钥的权限授予,到 PowerShell 的到期日盘点,系统性地梳理证书相关的常见事故与对策,是一份实务指南。
-
Windows 防火墙与业务应用 ── 入站规则要通过安装程序注册
「开发机上正常运行,但在客户现场却无法通信」的常见原因就是 Windows 防火墙。本文讲解入站默认阻止与网络配置文件、不能把生产环境交给通知对话框处理的原因,以及通过安装程序注册入站规则的方法与排查步骤。
-
SMB 签名与 LDAP 通道绑定 ── 用实务收紧 NTLM 对策的「另一半」
在停用 NTLM 之前,用来抑制中继攻击损害的防御手段就是 SMB 签名与 LDAP 签名・通道绑定。本文从实务角度整理各操作系统的默认值、审核事件的解读方法、推进到强制的步骤,直至业务应用与设备的修复方法。
-
NTLM 停用会导致业务应用停止运行吗 ── 审核日志的获取方法与消除依赖的顺序
围绕 NTLM 停用,本文整理了排查自身 Windows 环境与业务应用在何处依赖 NTLM 的步骤。内容涵盖审核策略、NTLM/Operational 日志中事件 8001~8004 的追踪方法、回退到 NTLM 的典型模式及修复方式,直至 SMB 的 NTLM 拦截功能。
-
用 winget + PowerShell 自动化 PC 装机 ── 让操作手册可执行
本文整理了让新员工电脑的初始设置具备可复现性的方法,涵盖通过 winget 进行应用安装与 export/import、WinGet Configuration 的声明式配置、用 PowerShell 补充的设置,直至无人值守执行时的注意事项。
-
PowerShell 的安全加固 ── 日志・AMSI・语言模式・JEA
本文整理了在不禁止 PowerShell 的前提下安全使用它的实务要点,讲解启用脚本块日志与转录、禁用 AMSI 与旧版本引擎的绕过路径、通过语言模式加以限制,直至用 JEA 进行权限委任。
-
用 Get-WinEvent 实务排查事件日志 ── 筛选速度决定调查时间
本文整理用 PowerShell 提升 Windows 事件日志调查效率的方法,涵盖用 Where-Object 筛选为何缓慢、FilterHashtable 与 XPath 的区分使用、重启・登录・应用异常终止的调查方法,直至多台计算机的日志收集。
-
PowerShell 模块的内部分发与更新 ── PSResourceGet 与内部仓库
本文整理了如何摆脱复制共享文件夹中的 ps1 反复使用的运维方式。内容涵盖模块清单的编写方法、版本管理、用 PSResourceGet 构建内部仓库并进行分发与更新,直至与签名的配合使用。
-
用 PSScriptAnalyzer 守护 PowerShell 脚本质量 ── 规则选型与 CI 导入
本文是将 PowerShell 静态分析工具 PSScriptAnalyzer 引入企业内部脚本的实务指南,讲解应最先启用的规则、配置文件的写法、对既有资产的分阶段导入,直至通过 GitHub Actions 实现 CI 化的完整流程。
-
用 PowerShell 与 REST API 集成 ── Invoke-RestMethod 的实务
本文整理从 PowerShell 调用内部系统 API 与 SaaS REST API 的实务做法,涵盖认证请求头的传递方式、日语 JSON 乱码的应对、4xx/5xx 错误处理、429 重试、分页,直至代理与 TLS 的陷阱。
-
PowerShell脚本运行慢时该看哪里 ── 数组・管道・匹配的诀窍
整理 PowerShell 脚本变慢的常见原因。从数组 += 导致 O(n^2) 的原理、管道与 foreach 的差异、匹配的哈希表化、文件 I/O 的改善,到正确的测量方法,从实务角度进行讲解。
-
不再使用 Write-Host ── PowerShell 的输出流与日志设计
本文整理 PowerShell 六个输出流的用法区分、Write-Host 存在的问题与正确的使用场景、函数返回值被污染的原因、通过 -Verbose 与 -InformationVariable 实现调用方控制,以及结构化日志的留存方法。
-
Microsoft Graph PowerShell 入门 ── AzureAD・MSOnline 废弃后的 Microsoft 365 运维
本文是将 AzureAD・MSOnline 模块废弃后的 Microsoft 365 运维迁移到 Microsoft Graph PowerShell 的实务指南,讲解连接与作用域设计、基于证书的无人值守执行,以及用户盘点、许可证汇总等常用脚本。
-
PowerShell 的并行处理 ── ForEach-Object -Parallel 与作业(Job)的选用之道
本文从实务角度整理 ForEach-Object -Parallel、Start-ThreadJob、Start-Job 的区别与选用之道,$using: 与线程安全性,ThrottleLimit 的确定方法,以及反而会变慢的情形。
-
从 PowerShell 正确调用外部 exe ── 参数引用、退出代码与乱码的陷阱
从 PowerShell 调用 robocopy 或公司内部 EXE 时,参数会损坏、拿不到退出代码、输出还会出现乱码。本文从实务角度整理 PowerShell 7.3 的参数传递变更、停止解析令牌 --%、以及 Start-Process 的使用区分。
-
这个批处理文件,应该迁移到 PowerShell 吗?── cmd/bat 资产盘点与迁移判断
用判断表梳理企业内部遗留的批处理文件(bat)是否应迁移到 PowerShell。对比 cmd 与 VBScript 的境遇差异、错误不会中止等 bat 特有的弱点、过渡期的写法、命令改写对照表与迁移步骤。
-
从 PowerShell 调用 COM 与 .NET 的实践 ── 一举拓宽脚本触达的范围
本文从实务角度讲解从 PowerShell 调用 .NET 类的方法、通过 Add-Type 嵌入 C# 与 Win32 API、COM 操作、Excel 进程残留与后续处理、Office 无人执行不受支持的原因,以及 5.1 与 7 之间的差异。
-
Power Automate 与 PowerShell+任务计划程序的使用场景划分 ── 不混用自动化工具,物尽其用地对接
面向 PowerShell+任务计划程序的夜间批处理与 Power Automate 流程开始在企业内部混用的中小企业信息系统部门,整理两者擅长领域的差异、该用哪种工具制作的判断表、通过 SharePoint 实现松耦合对接的联动模式,以及许可证与维护方面的注意事项。
-
PowerShell 中凭据的安全处理方式 ── 把明文密码逐出脚本
本文整理将 PowerShell 脚本中的明文密码迁移到安全存储的步骤。讲解 SecureString 的真实面貌与局限、Export-Clixml 基于 DPAPI 保存的原理,直至 SecretManagement/SecretStore 的适用场景。
-
PowerShell 脚本的参数设计与模块化 ── 从「能运行的脚本」到「可以交给别人的脚本」
本文整理把 PowerShell 脚本提升到可以交给他人使用的品质的具体步骤,讲解 param 块与 [CmdletBinding()]、输入验证、管道输入、-WhatIf 支持、.psm1 模块化,直至内部共享与 Git 管理的要点。
-
用 PowerShell 盘点文件服务器 ── 容量调查与访问权限(ACL)审计
用 PowerShell 对文件服务器进行盘点的实务步骤。整理容量调查与访问拒绝的记录、旧文件清单与重复候选的哈希提取、通过 Get-Acl 进行权限审计与继承中断检测、生成 CSV 报表、与 icacls 的分工使用,以及 Set-Acl 的安全变更步骤。
-
PowerShell Remoting(WinRM)入门 ── 批量管理多台 Windows
PowerShell Remoting(WinRM)批量管理多台 Windows 的入门指南。整理其原理与端口 5985/5986、Enable-PSRemoting 会做的事情、工作组环境的 TrustedHosts、Invoke-Command 与 PSSession、second hop 问题,以及安全运维...
-
Windows PowerShell 5.1 与 PowerShell 7 的区别 ── 企业内部脚本迁移实务指南
整理 Windows PowerShell 5.1 与 PowerShell 7 的关系(共存与 pwsh.exe)、5.1 不再新增功能的官方方针、编码差异导致的乱码、用 #Requires 进行防御,直至任务计划程序更新的迁移步骤。
-
用 PowerShell 自动化 Excel・CSV 业务处理 ── 汇总・核对・报表输出的实务方案
用 PowerShell 自动化 CSV 汇总、核对与 Excel 报表输出的实务方案。讲解 Import-Csv/Export-Csv 的默认字符编码(5.1 与 7 的差异)、用 Group-Object 汇总、用 Compare-Object 与哈希表核对,以及 ImportExcel 与 Excel CO...
-
PowerShell 的错误处理与重试设计 ── 从 try/catch 失效的陷阱到 exit code、重试的实务定式
本文从实务角度整理 PowerShell 终止错误与非终止错误的区别、try/catch 失效陷阱与 -ErrorAction Stop 的应对定式、用 $LASTEXITCODE 判断成败、exit code 设计,直至指数退避重试的完整流程。
-
PowerShell 的执行策略与脚本签名 ── 从「用 Bypass 蒙混过关」的运维方式毕业的实务指南
PowerShell 的执行策略『不是安全边界,而是一种安全装置』。本文梳理 RemoteSigned 等策略的差异、作用域的优先顺序、Mark of the Web 与 Unblock-File、脚本签名,以及公司内部分发的现实运维方式。
-
任务计划程序的任务不执行、以 0x1 结束 ── 原因排查与安全的运维设计
本文整理 Windows 任务计划程序的执行账户与登录类型、「不管用户是否登录都要运行」的含义、以 0x1 结束的典型原因、启用历史记录、防止多重启动、PowerShell 脚本的正确调用方式,直到把定期执行真正落实到运维上的设计方针。
-
用 Power Automate 实现业务自动化 ── 云端流程与桌面流程的分工,以及错误处理设计
本文整理 Power Automate 云端流程与桌面流程的区别、与 PowerShell / VBA 的分工、许可证、错误处理、UI 自动化的稳定化,以及凭据信息的安全处理,提供把业务自动化落地到生产环境的实务设计指南。
-
在 C#(CSharp)中执行 PowerShell 并以对象形式接收结果
本文从实务角度整理如何从 C# 启动 PowerShell,并以 PSObject 而非字符串来接收结果,涵盖 PowerShell SDK、AddCommand、AddParameter、BaseObject、Properties 直至错误处理。
-
用 Pester 完善 PowerShell 测试 ── 让运维脚本不易损坏的实务方法
本文整理用 Pester v5 测试 PowerShell 脚本的实务步骤,涵盖日期处理、文件操作、删除处理、Mock,一直到 CI 执行,帮助安全地打好测试基础。
-
PowerShell 实用命令合集 —— 积累日常工作中常用的小工具
本文整理 PowerShell 日常工作中常用的实用命令,说明 Measure-Object、Group-Object、Select-String、Compare-Object、Tee-Object、Start-Transcript 等命令的使用场景和时机。
-
PowerShell 脚本进阶 ── 安全地实现日志排查、归档与报表自动化
本文整理了用 PowerShell 脚本安全推进日志排查、CSV 报表、旧日志归档、留存记录,直至任务计划程序执行的实务步骤。
-
PowerShell 命令基础 ── 应先掌握的操作与安全使用方法
为了让 PowerShell 初学者在实际工作中不会迷失方向,本文整理了如何查找 Cmdlet、管道、文件操作、CSV 处理、执行策略,以及避免事故的确认步骤。
-
为 VBScript 弃用做准备:VBA·企业内部工具排查指南
本文整理 VBScript 分阶段弃用前,VBA、Excel 宏与企业内部工具的资产排查、静态检测、执行日志采集、替代技术选型、测试与分阶段推广的做法。
-
Windows 的文字编码与换行符 - 乱码与 CRLF/LF 的基础
本文整理 Windows 上容易混淆的 Shift_JIS / UTF-8 / UTF-16、乱码、CRLF / LF 之间的区别,用便于实务判断的方式呈现。
-
理清 Windows 的文字编码 - 乱码为什么会发生,尤其是和 Linux 搭配时容易出问题的地方
本文从 CP932、UTF-8、UTF-16、BOM、code page、PowerShell、Linux locale 的差异出发,从实务角度整理 Windows 上乱码发生的原因。