🎬 HoRain 云小助手:个人主页
⛺️生活的理想,就是为了理想的生活!
⛳️ 推荐
前些天发现了一个超棒的服务器购买网站,性价比超高,大内存超划算!忍不住分享一下给大家。点击跳转到网站。
目录
⛳️ 推荐
一、网络管理 Cmdlet
1. 网络连通性测试
2. IP 地址配置管理
3. 网络接口与路由管理
4. TCP/UDP 连接监控
5. DNS 管理
6. 网络配置文件
二、系统管理 Cmdlet
1. 系统信息查询
2. 用户与账户管理(本地)
3. 系统设置操作
4. 计算机管理
5. 系统还原点管理
6. 服务器角色和功能管理
7. 服务与进程管理
8. 系统清理与维护
三、实战场景示例
1. 测试多目标主机连通性
2. 监控高 CPU 使用率进程
3. 批量管理服务
4. 系统信息收集报告
四、最佳实践建议
PowerShell 的 Cmdlet 为网络与系统管理提供了强大而全面的工具集,这些命令遵循动词-名词命名约定,能够高效地完成各种管理任务。
一、网络管理 Cmdlet
1. 网络连通性测试
Test-Connection:类似于
ping命令,但输出为对象格式,支持更多操作Test-Connection -ComputerName www.baidu.com -Count 4Test-NetConnection(PowerShell 7+):更全面的网络连接测试工具
2. IP 地址配置管理
PowerShell 的NetTCPIP 模块专门用于管理 TCP/IP 网络设置
Cmdlet | 功能描述 | 示例 |
|---|---|---|
Get-NetIPAddress | 获取 IP 地址配置信息 |
|
New-NetIPAddress | 创建新的 IP 地址配置 |
|
Set-NetIPAddress | 修改现有 IP 地址配置 |
|
Remove-NetIPAddress | 删除 IP 地址配置 |
|
3. 网络接口与路由管理
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:获取网络适配器连接的网络类型(公共、专用或域)
二、系统管理 Cmdlet
1. 系统信息查询
Microsoft.PowerShell.Management 模块包含许多内置系统管理 Cmdlet
Cmdlet | 功能描述 | 示例 |
|---|---|---|
Get-ComputerInfo | 检索所有系统和操作系统属性 | `Get-ComputerInfo |
Get-Service | 获取计算机上所有服务的列表 |
|
Get-Process | 获取本地或远程计算机上所有活动进程的列表 | `Get-Process |
Get-EventLog | 从本地和远程计算机检索事件和事件日志(仅 Windows PowerShell 5.1) |
|
2. 用户与账户管理(本地)
Get-LocalUser:查看本地用户列表
New-LocalUser:创建新本地用户
Disable-LocalUser /Enable-LocalUser:禁用/启用本地用户
获取当前用户信息:
[System.Security.Principal.WindowsIdentity]::GetCurrent().Name或$env:USERNAME
3. 系统设置操作
Set-TimeZone:设置系统时区
Set-TimeZone -Id "China Standard Time"Rename-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 模块包含用于管理服务器功能、角色和服务的 Cmdlet
Cmdlet | 功能描述 |
|---|---|
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 道阻且长,行则将至,让我们一起加油吧!🌙🌙🌙