HoRain云--PowerShell网络与系统管理实战指南
HoRain 云小助手个人主页⛺️生活的理想就是为了理想的生活!⛳️ 推荐前些天发现了一个超棒的服务器购买网站性价比超高大内存超划算忍不住分享一下给大家。点击跳转到网站。目录⛳️ 推荐一、网络管理 Cmdlet1. 网络连通性测试2. IP 地址配置管理3. 网络接口与路由管理4. TCP/UDP 连接监控5. DNS 管理6. 网络配置文件二、系统管理 Cmdlet1. 系统信息查询2. 用户与账户管理本地3. 系统设置操作4. 计算机管理5. 系统还原点管理6. 服务器角色和功能管理7. 服务与进程管理8. 系统清理与维护三、实战场景示例1. 测试多目标主机连通性2. 监控高 CPU 使用率进程3. 批量管理服务4. 系统信息收集报告四、最佳实践建议PowerShell 的 Cmdlet 为网络与系统管理提供了强大而全面的工具集这些命令遵循动词-名词命名约定能够高效地完成各种管理任务。一、网络管理 Cmdlet1. 网络连通性测试Test-Connection类似于ping命令但输出为对象格式支持更多操作Test-Connection -ComputerName www.baidu.com -Count 4Test-NetConnectionPowerShell 7更全面的网络连接测试工具2. IP 地址配置管理PowerShell 的NetTCPIP 模块专门用于管理 TCP/IP 网络设置Cmdlet功能描述示例Get-NetIPAddress获取 IP 地址配置信息Get-NetIPAddress -AddressFamily IPv4New-NetIPAddress创建新的 IP 地址配置New-NetIPAddress -IPAddress 192.168.1.100 -PrefixLength 24 -InterfaceIndex 12Set-NetIPAddress修改现有 IP 地址配置Set-NetIPAddress -IPAddress 192.168.1.100 -PrefixLength 24Remove-NetIPAddress删除 IP 地址配置Remove-NetIPAddress -IPAddress 192.168.1.1003. 网络接口与路由管理Get-NetIPInterface获取网络接口及其配置列表Get-NetRoute获取本地路由表中的路由列表New-NetRoute在 IP 路由表中创建新条目Set-NetRoute修改路由表条目4. TCP/UDP 连接监控Get-NetTCPConnection获取当前 TCP 连接统计信息Get-NetTCPConnection -LocalPort 80 # 查看80端口连接情况Get-NetUDPEndpoint获取当前 UDP 连接统计信息5. DNS 管理Resolve-DnsName提供类似nslookup的功能Clear-DnsClientCache清除 DNS 客户端缓存6. 网络配置文件Get-NetConnectionProfile获取网络适配器连接的网络类型公共、专用或域二、系统管理 Cmdlet1. 系统信息查询Microsoft.PowerShell.Management 模块包含许多内置系统管理 CmdletCmdlet功能描述示例Get-ComputerInfo检索所有系统和操作系统属性Get-ComputerInfoGet-Service获取计算机上所有服务的列表Get-Service -Name wuauservGet-Process获取本地或远程计算机上所有活动进程的列表Get-ProcessGet-EventLog从本地和远程计算机检索事件和事件日志仅 Windows PowerShell 5.1Get-EventLog -LogName Application -Newest 5 -EntryType Error2. 用户与账户管理本地Get-LocalUser查看本地用户列表New-LocalUser创建新本地用户Disable-LocalUser /Enable-LocalUser禁用/启用本地用户获取当前用户信息[System.Security.Principal.WindowsIdentity]::GetCurrent().Name或$env:USERNAME3. 系统设置操作Set-TimeZone设置系统时区Set-TimeZone -Id China Standard TimeRename-Computer设置系统主机名需重启生效Set-Date设置系统时间需要管理员权限4. 计算机管理Restart-Computer重新启动本地和远程计算机Stop-Computer关闭本地和远程计算机Add-Computer将计算机添加到域或工作组Remove-Computer从工作组或域中删除计算机Test-ComputerSecureChannel测试并修复本地计算机与其域之间的安全通道5. 系统还原点管理Checkpoint-Computer在本地计算机上创建系统还原点Get-ComputerRestorePoint获取本地计算机上的还原点Restore-Computer在本地计算机上启动系统还原Disable-ComputerRestore /Enable-ComputerRestore在指定驱动器上禁用/启用系统还原功能6. 服务器角色和功能管理ServerManager 模块包含用于管理服务器功能、角色和服务的 CmdletCmdlet功能描述Get-WindowsFeature获取已安装或可安装的 Windows Server 角色、服务和功能信息Install-WindowsFeature安装一个或多个角色、服务或功能Uninstall-WindowsFeature卸载一个或多个角色、服务或功能7. 服务与进程管理Stop-Service停止一个或多个正在运行的服务Restart-Service停止然后启动一项或多项服务Stop-Process停止一个或多个正在运行的进程8. 系统清理与维护Clear-EventLog删除本地或远程计算机上指定事件日志中的所有条目Clear-RecycleBin清空计算机回收站的内容三、实战场景示例1. 测试多目标主机连通性192.168.1.1, 8.8.8.8, www.baidu.com | ForEach-Object { Test-Connection -ComputerName $_ -Count 2 }2. 监控高 CPU 使用率进程Get-Process | Where-Object { $_.CPU -gt 100 } | Select-Object Name, CPU, WorkingSet | Sort-Object CPU -Descending3. 批量管理服务# 停止所有以 SQL 开头的服务 Get-Service -Name SQL* | Stop-Service # 重启所有已停止的服务 Get-Service | Where-Object {$_.Status -eq Stopped} | Restart-Service4. 系统信息收集报告$systemInfo Get-ComputerInfo | Select-Object OSName, WindowsVersion, CsNumberOfProcessors, CsTotalPhysicalMemory $diskInfo Get-Volume | Select-Object DriveLetter, Size, SizeRemaining $networkInfo Get-NetIPAddress -AddressFamily IPv4 | Select-Object InterfaceAlias, IPAddress $report { System $systemInfo Disk $diskInfo Network $networkInfo } $report | ConvertTo-Json | Out-File SystemReport.json四、最佳实践建议模块化管理使用Get-Command -Module NetTCPIP查看特定模块的所有 Cmdlet帮助系统使用Get-Help Cmdlet名称获取详细帮助信息错误处理始终使用-ErrorAction参数控制错误处理行为远程管理结合Invoke-Command实现批量远程管理管道组合充分利用 PowerShell 的对象管道特性将简单 Cmdlet 组合成复杂解决方案PowerShell 的网络与系统管理 Cmdlet 提供了比传统 GUI 工具更高效、更自动化的管理方式特别适合批量操作、脚本化部署和远程管理场景。通过合理组合这些 Cmdlet管理员可以构建强大的自动化管理解决方案。❤️❤️❤️本人水平有限如有纰漏欢迎各位大佬评论批评指正如果觉得这篇文对你有帮助的话也请给个点赞、收藏下吧非常感谢! Stay Hungry Stay Foolish 道阻且长,行则将至,让我们一起加油吧