首页 > 系统相关 >在 Windows 10 和 Windows 11 中,PowerShell 提供了丰富的命令,按不同功能可以分为多个类别。以下是常见的命令类别及其描述的表格:

在 Windows 10 和 Windows 11 中,PowerShell 提供了丰富的命令,按不同功能可以分为多个类别。以下是常见的命令类别及其描述的表格:

时间:2024-12-28 15:07:53浏览次数:1  
标签:命令 Get Windows 管理 获取 类别 New PowerShell

Windows 10Windows 11 中,PowerShell 提供了丰富的命令,按不同功能可以分为多个类别。以下是常见的命令类别及其描述的表格:

分类 命令 描述
系统信息与管理 Get-ComputerInfo 获取计算机的系统信息
  Get-Process 获取当前正在运行的进程列表
  Get-Service 获取计算机上的所有服务
  Get-EventLog 获取事件日志
  Get-Command 获取所有可用的 PowerShell 命令
  Get-Help 获取命令的帮助信息
  Get-Module 获取已加载的模块
文件与目录管理 Get-ChildItem 获取指定目录中的文件和子目录
  Set-Location 改变当前工作目录
  Copy-Item 复制文件或目录
  Move-Item 移动文件或目录
  Remove-Item 删除文件或目录
  New-Item 创建新的文件或目录
  Rename-Item 重命名文件或目录
系统配置与管理 Set-ExecutionPolicy 设置 PowerShell 执行策略
  Get-ExecutionPolicy 获取当前 PowerShell 执行策略
  Get-WindowsFeature 获取 Windows 功能或角色的状态
  Enable-WindowsOptionalFeature 启用 Windows 可选功能
网络与远程管理 Test-Connection 测试与远程计算机的网络连接
  Get-NetIPAddress 获取网络接口的 IP 地址
  Get-NetAdapter 获取网络适配器的状态与信息
  Invoke-Command 执行远程命令(需要远程 PowerShell)
  Enter-PSSession 启动与远程计算机的交互式会话
用户与组管理 Get-LocalUser 获取本地用户的信息
  New-LocalUser 创建本地用户
  Set-LocalUser 修改本地用户的信息
  Get-LocalGroup 获取本地组的信息
  Add-LocalGroupMember 将用户添加到本地组
  Remove-LocalGroupMember 从本地组中删除用户
任务与计划管理 Get-ScheduledTask 获取任务计划中的任务
  New-ScheduledTask 创建新的计划任务
  Start-ScheduledTask 启动计划任务
  Stop-ScheduledTask 停止计划任务
性能与资源监控 Get-Process 获取计算机上的所有进程信息
  Get-EventLog 获取系统的事件日志
  Get-PerformanceCounter 获取性能计数器的信息
  Get-ResourceUsage 获取系统资源的使用情况
系统修复与恢复 Repair-WindowsImage 修复 Windows 映像
  SFC /scannow 系统文件检查工具,用于扫描和修复损坏的文件
  DISM 部署映像服务和管理工具,用于修复系统映像
PowerShell 脚本与自动化 Get-Content 获取文件内容
  Set-Content 写入内容到文件
  Out-File 将输出重定向到文件
  Start-Process 启动一个新进程
  Invoke-Expression 执行指定的字符串作为 PowerShell 命令
安全与权限管理 Get-ACL 获取文件、目录或注册表项的访问控制列表(ACL)
  Set-ACL 设置文件、目录或注册表项的访问控制列表(ACL)
  Get-AuthenticodeSignature 获取文件的 Authenticode 签名信息
  New-LocalGroup 创建本地组
Windows 更新与安装 Get-WindowsUpdate 检查系统更新状态
  Install-WindowsUpdate 安装 Windows 更新
打印与扫描管理 Get-Printer 获取系统上安装的打印机信息
  Add-Printer 添加打印机
  Remove-Printer 删除打印机
磁盘管理 Get-Disk 获取磁盘的信息
  Get-Partition 获取磁盘分区的信息
  New-Partition 创建新的磁盘分区
  Format-Volume 格式化磁盘分区
时间与日期管理 Get-Date 获取当前系统日期和时间
  Set-Date 设置系统日期和时间
调试与测试命令 Trace-Route 路由跟踪工具,检查网络路径
  Start-Job 启动后台作业
  Get-Job 获取当前正在运行的作业
日志与监控管理 Get-WinEvent 获取 Windows 事件日志
  Clear-WinEvent 清除事件日志
  Export-WinEvent 导出事件日志到文件

说明:

  • 系统信息与管理:涉及系统状态、进程、服务和命令等管理功能。
  • 文件与目录管理:用于管理文件和目录的创建、删除、重命名等操作。
  • 系统配置与管理:用于设置和管理执行策略、Windows 功能、模块等。
  • 网络与远程管理:处理与远程计算机的连接、网络适配器配置等。
  • 用户与组管理:涉及本地用户和组的创建、删除和管理。
  • 任务与计划管理:管理计划任务的创建和执行。
  • 性能与资源监控:监控计算机的性能和资源使用情况。
  • 系统修复与恢复:用于修复系统问题或恢复系统。
  • PowerShell 脚本与自动化:处理文件内容操作、重定向、执行脚本等自动化功能。
  • 安全与权限管理:管理文件和目录的访问权限、签名等。
  • Windows 更新与安装:检查和安装 Windows 更新。
  • 打印与扫描管理:管理打印机和扫描设备。
  • 磁盘管理:涉及磁盘分区、格式化等操作。
  • 时间与日期管理:设置和获取系统时间。
  • 调试与测试命令:用于调试和测试系统或网络。
  • 日志与监控管理:管理和查看 Windows 事件日志。

这些命令在 PowerShell 中非常有用,能够帮助系统管理员和高级用户高效地管理和自动化各种任务。


提供更多 PowerShell 命令的分类和详细信息。以下是一些更高级的命令类别及其描述:

分类 命令 描述
文件和内容操作 Get-Content 获取文件内容
  Set-Content 设置文件内容
  Add-Content 向文件追加内容
  Out-File 将输出结果写入到文件中
  Copy-Item 复制文件或文件夹
  Move-Item 移动文件或文件夹
  Rename-Item 重命名文件或文件夹
计算与数据操作 New-Object 创建一个新的 .NET 对象
  Select-Object 选择对象的特定属性或字段
  Where-Object 筛选对象中的特定值
  ForEach-Object 对集合中的每个对象执行操作
  Group-Object 根据特定字段对对象进行分组
  Sort-Object 对对象进行排序
脚本与自动化 Invoke-Command 在本地或远程计算机上执行命令
  Start-Process 启动一个新的进程
  Start-Sleep 暂停脚本执行一段指定的时间(以秒为单位)
  Wait-Process 等待一个进程完成执行
  Set-Variable 设置一个变量的值
  Get-Variable 获取指定变量的值
对象与集合操作 New-Object 创建新的对象或实例
  Select-Object 选择和显示对象的特定属性
  Where-Object 筛选对象集合中的元素
  ForEach-Object 遍历集合并对每个元素执行操作
  Group-Object 将对象按指定条件分组
  Sort-Object 对对象或数组进行排序
文件系统与注册表管理 Get-Item 获取文件或注册表项的信息
  Set-Item 设置文件或注册表项的属性
  New-Item 创建新文件或注册表项
  Remove-Item 删除文件、目录或注册表项
  Get-ItemProperty 获取文件或注册表项的属性值
  Set-ItemProperty 设置文件或注册表项的属性值
文件与系统备份 Backup-SqlDatabase 备份 SQL Server 数据库
  Restore-SqlDatabase 恢复 SQL Server 数据库
进程与服务管理 Get-Process 获取系统上所有正在运行的进程
  Start-Process 启动一个新进程
  Stop-Process 停止一个进程
  Get-Service 获取系统中所有的服务
  Start-Service 启动指定的服务
  Stop-Service 停止指定的服务
  Restart-Service 重启指定的服务
任务和计划管理 Get-ScheduledTask 获取已安排的任务
  New-ScheduledTask 创建新的计划任务
  Start-ScheduledTask 启动计划任务
  Stop-ScheduledTask 停止计划任务
  Unregister-ScheduledTask 注销计划任务
远程管理与远程会话 Enter-PSSession 启动一个与远程计算机的交互式 PowerShell 会话
  Exit-PSSession 退出远程 PowerShell 会话
  Invoke-Command 在远程计算机上运行命令
  New-PSSession 创建一个新的 PowerShell 会话
Active Directory 管理 Get-ADUser 获取 Active Directory 用户信息
  Set-ADUser 修改 Active Directory 用户信息
  Get-ADGroup 获取 Active Directory 组的信息
  Add-ADGroupMember 向 Active Directory 组添加成员
  Remove-ADGroupMember 从 Active Directory 组移除成员
防火墙与网络管理 Get-NetFirewallRule 获取 Windows 防火墙规则
  New-NetFirewallRule 创建新的防火墙规则
  Set-NetFirewallRule 修改现有的防火墙规则
  Test-NetConnection 测试网络连接
事件与日志管理 Get-WinEvent 获取 Windows 事件日志
  Clear-WinEvent 清除 Windows 事件日志
  Export-WinEvent 导出事件日志
  Get-EventLog 获取经典事件日志(如应用程序日志、安全日志等)
磁盘和存储管理 Get-Disk 获取磁盘的状态和信息
  New-Disk 创建新磁盘分区
  Get-Volume 获取系统中所有磁盘卷的信息
  Format-Volume 格式化磁盘卷
  Get-Partition 获取磁盘分区信息
  Set-Partition 设置磁盘分区的属性
环境变量与配置管理 Get-EnvironmentVariable 获取环境变量
  Set-EnvironmentVariable 设置环境变量
  Get-Command 获取命令的帮助或命令的详细信息
  Get-Help 获取命令或脚本的帮助信息
资源管理与优化 Get-Process 查看当前系统运行的所有进程
  Get-EventLog 查看事件日志,监控系统异常
  Get-PerformanceCounter 获取计算机的性能计数器数据
  Get-ResourceUsage 获取系统资源的使用情况

说明:

  • 文件和内容操作:操作文件内容、管理文件的输入输出、文件复制和移动等。
  • 计算与数据操作:对数据进行处理、计算、筛选、分组、排序等。
  • 脚本与自动化:帮助脚本自动化管理任务,包括启动进程、暂停、执行命令等。
  • 对象与集合操作:处理对象集合的查询、筛选、排序、分组等。
  • 文件系统与注册表管理:用于操作文件系统、注册表项、配置系统等。
  • 文件与系统备份:涉及 SQL Server 数据库备份和恢复操作。
  • 进程与服务管理:查看、启动、停止、重启进程和服务。
  • 任务和计划管理:用于管理任务计划、创建和管理计划任务等。
  • 远程管理与远程会话:通过 PowerShell 与远程计算机进行交互和管理。
  • Active Directory 管理:用于查询和管理 Active Directory 用户、组等。
  • 防火墙与网络管理:配置防火墙规则和网络连接测试。
  • 事件与日志管理:查看、导出、清理 Windows 事件日志。
  • 磁盘和存储管理:管理磁盘、分区、卷、格式化等存储任务。
  • 环境变量与配置管理:设置和获取环境变量,获取 PowerShell 命令帮助信息等。
  • 资源管理与优化:监控系统资源和性能,获取系统使用情况。

这些命令涉及操作系统的各个方面,包括文件管理、进程控制、远程管理、系统监控等。掌握这些命令将有助于系统管理员高效地管理和自动化任务。


提供更多 PowerShell 命令的高级分类和细节。下面是一些其他常见的 PowerShell 命令类别,以及如何通过它们来执行各种任务。

进阶 PowerShell 命令分类与示例

分类 命令 描述
用户和组管理 Get-LocalUser 获取本地计算机上的所有用户信息
  New-LocalUser 创建一个新的本地用户
  Set-LocalUser 修改本地用户的属性
  Remove-LocalUser 删除本地用户
  Get-LocalGroup 获取本地计算机上的所有组信息
  Add-LocalGroupMember 将成员添加到本地组
  Remove-LocalGroupMember 从本地组中移除成员
打印机管理 Get-Printer 获取计算机上的所有打印机信息
  Add-Printer 添加新的打印机
  Set-Printer 配置打印机的属性
  Remove-Printer 删除指定的打印机
磁盘配额管理 Enable-Quota 启用磁盘配额管理
  Set-Quota 设置磁盘配额限制
  Get-Quota 查看磁盘配额设置
日志管理 Get-WinEvent 获取 Windows 系统的事件日志
  Clear-WinEvent 清除指定的事件日志
  Export-WinEvent 将事件日志导出到文件
  Get-EventLog 获取经典事件日志(如应用程序日志、安全日志等)
性能监控与资源管理 Get-Process 获取正在运行的所有进程信息
  Stop-Process 停止指定的进程
  Get-Service 获取所有系统服务信息
  Start-Service 启动服务
  Stop-Service 停止服务
  Get-PerformanceCounter 获取计算机的性能计数器信息
远程 PowerShell 会话 Enter-PSSession 启动到远程计算机的 PowerShell 会话
  Exit-PSSession 退出当前远程 PowerShell 会话
  Invoke-Command 在远程计算机上运行指定命令
  New-PSSession 创建新的 PowerShell 会话连接
Windows 功能与组件 Get-WindowsFeature 获取 Windows 功能和角色的状态
  Install-WindowsFeature 安装 Windows 功能或角色
  Uninstall-WindowsFeature 卸载 Windows 功能或角色
网络与共享管理 Get-NetAdapter 获取网络适配器的配置和状态
  Set-NetAdapter 配置网络适配器的属性
  Get-NetIPAddress 获取网络适配器的 IP 地址信息
  Set-NetIPAddress 设置网络适配器的 IP 地址
  New-SmbShare 创建一个新的 SMB 网络共享
  Get-SmbShare 查看所有 SMB 网络共享
  Set-SmbShare 配置 SMB 网络共享的属性
打印管理 Get-PrintJob 获取打印队列中的所有任务
  Start-PrintJob 启动打印任务
  Stop-PrintJob 停止打印任务
系统配置信息 Get-WmiObject 获取计算机的 WMI 信息(如硬件、操作系统等)
  Get-CimInstance 获取 CIM 实例(与 WMI 类似)
系统日期和时间管理 Get-Date 获取当前的日期和时间
  Set-Date 设置计算机的日期和时间
  Get-TimeZone 获取当前时区信息
  Set-TimeZone 设置计算机时区
任务和计划任务管理 Get-ScheduledTask 获取计算机上的计划任务
  New-ScheduledTask 创建一个新的计划任务
  Start-ScheduledTask 启动一个指定的计划任务
  Stop-ScheduledTask 停止指定的计划任务
  Unregister-ScheduledTask 注销一个计划任务
SQL Server 管理 Get-SqlDatabase 获取 SQL Server 数据库信息
  Backup-SqlDatabase 备份 SQL Server 数据库
  Restore-SqlDatabase 恢复 SQL Server 数据库
Windows 更新管理 Get-WindowsUpdate 获取系统的 Windows 更新信息
  Install-WindowsUpdate 安装 Windows 更新
Hyper-V 管理 Get-VM 获取虚拟机的信息
  New-VM 创建新的虚拟机
  Start-VM 启动虚拟机
  Stop-VM 停止虚拟机
容器管理 Get-Container 获取容器的信息
  New-Container 创建新的容器
  Start-Container 启动容器
证书管理 Get-ChildItem -Path Cert: 获取证书存储区中的证书信息
  New-SelfSignedCertificate 创建自签名证书
  Export-Certificate 导出证书
安全和加密 Get-FileHash 获取文件的哈希值
  ConvertTo-SecureString 将字符串转换为安全字符串
  ConvertFrom-SecureString 将安全字符串转换为普通字符串
Windows 安全管理 Get-LocalGroup 获取本地组的信息
  Add-LocalGroupMember 向本地组中添加用户
Windows 服务与防火墙 Get-NetFirewallRule 查看当前的防火墙规则
  New-NetFirewallRule 创建新的防火墙规则
  Set-NetFirewallRule 设置防火墙规则的属性
  Get-Service 获取计算机的服务信息
  Stop-Service 停止指定服务

各类命令的简要说明:

  • 用户和组管理:提供对本地用户和组的增删改查操作,方便进行用户管理。
  • 打印机管理:管理本地和网络打印机,添加、删除、配置打印机。
  • 磁盘配额管理:管理磁盘配额,可以限制用户或组的磁盘使用量。
  • 日志管理:管理 Windows 系统事件和日志,可以获取、清除和导出日志。
  • 性能监控与资源管理:监控系统性能和资源使用情况,可以停止进程、服务,查看性能计数器等。
  • 远程 PowerShell 会话:通过 PowerShell 在远程计算机上执行命令,进行远程管理。
  • Windows 功能与组件:用于安装、卸载和管理 Windows 功能和角色。
  • 网络与共享管理:配置网络适配器、共享文件夹和 IP 地址。
  • 打印管理:管理打印队列和打印作业。
  • 系统配置信息:获取系统的硬件信息、操作系统信息等。
  • 系统日期和时间管理:获取和设置计算机的日期、时间和时区。
  • 任务和计划任务管理:管理计算机上的计划任务。
  • SQL Server 管理:与 SQL Server 数据库进行交互,进行备份和恢复操作。
  • Windows 更新管理:管理 Windows 更新安装。
  • Hyper-V 管理:用于管理虚拟机,包括创建、启动、停止虚拟机。

其他 PowerShell 命令的分类和细节:

继续高级 PowerShell 命令分类与示例

分类 命令 描述
容器管理 Get-Container 获取容器的信息
  New-Container 创建新的容器
  Start-Container 启动容器
  Stop-Container 停止容器
证书管理 Get-ChildItem -Path Cert: 获取证书存储区中的证书信息
  New-SelfSignedCertificate 创建自签名证书
  Export-Certificate 导出证书
安全和加密 Get-FileHash 获取文件的哈希值
  ConvertTo-SecureString 将字符串转换为安全字符串
  ConvertFrom-SecureString 将安全字符串转换为普通字符串
Windows 安全管理 Get-LocalGroup 获取本地组的信息
  Add-LocalGroupMember 向本地组中添加用户
Windows 服务与防火墙 Get-NetFirewallRule 查看当前的防火墙规则
  New-NetFirewallRule 创建新的防火墙规则
  Set-NetFirewallRule 设置防火墙规则的属性
  Get-Service 获取计算机的服务信息
  Stop-Service 停止指定服务

各类命令的简要说明:

  • 容器管理:PowerShell 提供的容器管理功能允许你在 Windows 环境下进行容器的创建、启动和停止操作,适用于 Docker 等容器平台的管理。
  • 证书管理:包括了证书的创建、导出和查看等功能。通过 PowerShell 管理证书存储区可以提高系统的安全性。
  • 安全和加密:PowerShell 提供了强大的加密工具,例如计算文件哈希值、转换字符串为安全字符串等,帮助保护敏感数据。
  • Windows 安全管理:可以通过 PowerShell 快速管理本地用户组的成员,简化 Windows 系统的安全设置。
  • Windows 服务与防火墙:PowerShell 允许你获取、创建和管理防火墙规则以及服务。它为 IT 管理员提供了自动化操作的便利。

更高级的命令与功能

  • 事件订阅和日志管理

    • New-WinEvent:创建新的事件日志条目,常用于生成自定义的日志信息。
    • Register-WmiEvent:注册 WMI 事件订阅,支持基于系统事件的自动化响应。
    • Get-WinEvent -FilterHashtable @{LogName="Security"; ID=4720}:筛选事件日志中特定事件 ID(如账户创建事件)。
  • 网络与安全

    • Test-NetConnection:测试网络连接性,支持测试 DNS、端口以及网络延迟等。
    • Get-NetAdapterStatistics:查看网络适配器的统计信息,包括数据传输量等。
    • Get-NetTCPConnection:列出当前 TCP 连接,查看活动连接的状态。
  • Windows 虚拟化管理

    • Get-VM:获取虚拟机的基本信息,查看虚拟机的状态。
    • Start-VM:启动一个或多个虚拟机。
    • Stop-VM:停止虚拟机运行,支持强制关闭。
    • Set-VM:修改虚拟机的配置参数,如内存、CPU 核心数等。
    • Checkpoint-VM:创建虚拟机的检查点,方便以后恢复到指定状态。
  • 备份与恢复

    • Get-Backup:查看系统的备份信息。
    • New-WbBackupTarget:设置备份目标位置,可以指定到外部存储设备或网络共享。
    • Restore-WBFile:从备份恢复文件或文件夹。
  • PowerShell 脚本与自动化

    • Invoke-Command -ScriptBlock {...}:执行一个脚本块,在当前会话中运行一系列 PowerShell 命令。
    • Start-Job:启动一个后台作业,在后台异步执行任务。
    • Get-Job:获取后台作业的状态信息。
    • Wait-Job:等待一个或多个后台作业完成。
    • Receive-Job:从后台作业中获取结果。
    • Export-ModuleMember:用于将 PowerShell 模块中的成员导出,便于模块的封装和重用。
  • PowerShell Remoting

    • Enter-PSSession -ComputerName <RemoteComputer>:进入远程计算机的 PowerShell 会话,进行实时的远程管理。
    • Invoke-Command -ComputerName <RemoteComputer>:在远程计算机上执行 PowerShell 命令。
    • New-PSSession:创建新的 PowerShell 会话,可以通过多个会话同时管理多个远程系统。
    • Close-PSSession:关闭远程会话,断开与远程计算机的连接。

PowerShell 与 Windows 容器

PowerShell 在 Windows 容器环境中也发挥着重要作用,支持 Docker 和 Kubernetes 等容器平台的集成。

  • 查看容器:使用 docker ps 或 Get-Container 获取容器的运行状态。
  • 管理容器Start-Container 启动容器,Stop-Container 停止容器。
  • 容器内运行命令:使用 docker exec -it <container_name> <command> 在容器内部执行命令。

示例:自动化任务管理

假设我们要定期执行一个 PowerShell 脚本,并且每小时执行一次,可以使用计划任务管理工具(New-ScheduledTask)来自动化这个过程:

powershellCopy Code
$taskAction = New-ScheduledTaskAction -Execute "Powershell.exe" -Argument "C:\Scripts\MyScript.ps1"
$taskTrigger = New-ScheduledTaskTrigger -Hourly -At "1:00AM"
Register-ScheduledTask -Action $taskAction -Trigger $taskTrigger -TaskName "RunMyScriptEveryHour"

 

PowerShell 是一款功能强大的命令行工具,适用于各种系统管理任务。从文件操作、用户管理、网络配置到自动化任务和远程管理,PowerShell 提供了丰富的命令和功能,可以大大提升工作效率。无论你是管理员、开发人员还是 IT 专业人员,掌握 PowerShell 的高级功能都能显著提高你的自动化和脚本编写能力。

你可以利用这些命令创建定制化的解决方案,自动化重复性任务,甚至跨多个计算机和服务器进行远程管理。


深入探讨 PowerShell 的一些高级用法,包括系统管理、网络配置、任务自动化和更复杂的脚本操作。

高级 PowerShell 命令与自动化

1. 系统管理与自动化

PowerShell 作为自动化工具,对于日常的系统管理和操作任务极其有效。以下是一些常见的系统管理任务及其命令示例:

  • 批量用户管理

    • 批量添加用户:

      powershellCopy Code
      $users = @("User1", "User2", "User3")
      foreach ($user in $users) {
          New-LocalUser -Name $user -Password (ConvertTo-SecureString "P@ssw0rd" -AsPlainText -Force) -FullName "$user User" -Description "Test User"
      }
    • 批量删除用户:

      powershellCopy Code
      $users = @("User1", "User2", "User3")
      foreach ($user in $users) {
          Remove-LocalUser -Name $user
      }
    • 批量添加到本地组:

      powershellCopy Code
      $group = "Administrators"
      $users = @("User1", "User2", "User3")
      foreach ($user in $users) {
          Add-LocalGroupMember -Group $group -Member $user
      }
  • 系统资源监控

    • 获取当前的 CPU 使用率:

      powershellCopy Code
      Get-WmiObject -Class Win32_Processor | Select-Object LoadPercentage
    • 获取当前内存使用情况:

      powershellCopy Code
      Get-WmiObject -Class Win32_OperatingSystem | Select-Object TotalVisibleMemorySize, FreePhysicalMemory
    • 获取磁盘空间:

      powershellCopy Code
      Get-WmiObject -Class Win32_LogicalDisk | Select-Object DeviceID, @{Name="FreeSpace(GB)";Expression={[math]::round($_.FreeSpace / 1GB, 2)}}, @{Name="Size(GB)";Expression={[math]::round($_.Size / 1GB, 2)}}
  • 任务计划与调度

    • 创建一个定时任务,每天执行指定脚本:

      powershellCopy Code
      $taskAction = New-ScheduledTaskAction -Execute "Powershell.exe" -Argument "C:\Scripts\Backup.ps1"
      $taskTrigger = New-ScheduledTaskTrigger -Daily -At "2:00AM"
      Register-ScheduledTask -Action $taskAction -Trigger $taskTrigger -TaskName "DailyBackupTask"
    • 查看系统中的所有任务:

      powershellCopy Code
      Get-ScheduledTask
    • 删除任务:

      powershellCopy Code
      Unregister-ScheduledTask -TaskName "DailyBackupTask"

2. 网络配置与管理

PowerShell 在网络配置和管理方面非常强大,可以用来查看、修改网络设置,管理 TCP 连接,甚至测试远程网络连接。

  • 查看本地网络适配器

    powershellCopy Code
    Get-NetAdapter
  • 配置静态 IP 地址

    powershellCopy Code
    New-NetIPAddress -InterfaceAlias "Ethernet" -IPAddress "192.168.1.100" -PrefixLength 24 -DefaultGateway "192.168.1.1"
  • 查看当前网络连接

    powershellCopy Code
    Get-NetTCPConnection
  • 测试网络连接

    powershellCopy Code
    Test-NetConnection -ComputerName "google.com" -Port 443
  • 修改防火墙规则

    • 启用防火墙:

      powershellCopy Code
      Set-NetFirewallProfile -All -Enabled True
    • 禁用防火墙:

      powershellCopy Code
      Set-NetFirewallProfile -All -Enabled False
    • 添加新的防火墙规则:

      powershellCopy Code
      New-NetFirewallRule -DisplayName "Allow HTTP" -Direction Inbound -Protocol TCP -LocalPort 80 -Action Allow

3. 数据备份与恢复

PowerShell 在数据备份与恢复方面也有很多强大的功能,可以用来自动化备份和恢复任务。

  • 创建备份任务

    powershellCopy Code
    $backup = New-WBBackupTarget -Volume "C:\"
    Start-WBBackup -BackupTarget $backup
  • 恢复文件

    powershellCopy Code
    Restore-WBFile -BackupTarget $backup -File "C:\Backup\ImportantFile.txt"

4. PowerShell 脚本与模块管理

PowerShell 脚本和模块是自动化管理的重要工具,掌握它们的使用可以大大提升管理效率。

  • 加载模块

    powershellCopy Code
    Import-Module -Name "PSReadline"
  • 创建自定义脚本

    • 创建一个简单的 PowerShell 脚本 TestScript.ps1

      powershellCopy Code
      # TestScript.ps1
      Write-Host "This is a test script"
    • 执行脚本:

      powershellCopy Code
      .\TestScript.ps1
    • 脚本参数:

      powershellCopy Code
      param (
          [string]$Name,
          [int]$Age
      )
      Write-Host "Hello, $Name. You are $Age years old."
    • 执行脚本并传递参数:

      powershellCopy Code
      .\TestScript.ps1 -Name "John" -Age 30
  • 创建模块

    • 创建一个模块文件 MyModule.psm1

      powershellCopy Code
      # MyModule.psm1
      function Get-Greeting {
          param (
              [string]$Name
          )
          return "Hello, $Name!"
      }
    • 导入并使用模块:

      powershellCopy Code
      Import-Module -Name "MyModule.psm1"
      Get-Greeting -Name "Alice"

5. PowerShell Remoting 与远程管理

PowerShell 的远程管理功能可以帮助管理员在多台计算机上同时执行命令,进行系统配置和问题排查。

  • 启用远程管理

    powershellCopy Code
    Enable-PSRemoting -Force
  • 通过 PowerShell Remoting 执行命令

    powershellCopy Code
    Invoke-Command -ComputerName "RemotePC" -ScriptBlock { Get-Process }
  • 创建远程会话

    powershellCopy Code
    $session = New-PSSession -ComputerName "RemotePC"
  • 通过远程会话执行命令

    powershellCopy Code
    Invoke-Command -Session $session -ScriptBlock { Get-Service }
  • 退出远程会话

    powershellCopy Code
    Exit-PSSession

6. 文件与目录管理

PowerShell 提供了强大的文件和目录管理功能,能够进行文件复制、移动、删除等操作。

  • 复制文件

    powershellCopy Code
    Copy-Item -Path "C:\source\file.txt" -Destination "C:\destination"
  • 移动文件

    powershellCopy Code
    Move-Item -Path "C:\source\file.txt" -Destination "C:\destination"
  • 删除文件

    powershellCopy Code
    Remove-Item -Path "C:\path\to\file.txt"
  • 查看目录内容

    powershellCopy Code
    Get-ChildItem -Path "C:\path\to\directory"

 

PowerShell 提供了强大的系统管理、自动化、远程管理和文件操作能力。通过学习 PowerShell,你可以高效地管理计算机和服务器,自动化常规任务,提升工作效率。无论是单台计算机管理还是大规模网络环境下的任务自动化,PowerShell 都是非常有力的工具。


 

标签:命令,Get,Windows,管理,获取,类别,New,PowerShell
From: https://www.cnblogs.com/suv789/p/18637519

相关文章

  • java命令行参数与选项
    https://cloud.tencent.com/developer/article/1018405https://www.cnblogs.com/limeiyang/p/16565920.htmlhttps://cloud.tencent.com/developer/article/2363703https://www.cnblogs.com/xy14/p/11563830.htmlJava命令行参数用于启动Java程序,并可以通过这些参数来控制Ja......
  • 【Linux系列】Linux 命令行中的`cat`与`/dev/null`:清空文件
    ......
  • Kafka_2.13-3.6.0 常用命令快速指南
    Kafka_2.13-3.6.0常用命令及说明1.环境配置下载并解压Kafka#下载Kafka_2.13-3.6.0安装包wgethttps://downloads.apache.org/kafka/3.6.0/kafka_2.13-3.6.0.tgz#解压文件tar-xzfkafka_2.13-3.6.0.tgz#进入Kafka目录cdkafka_2.13-3.6.0启动Zookeeper......
  • 【Windows】 国内安装Scoop包管理器(镜像加速)
    由于国内github访问不通畅,且多数开源软件托管在github,导致scoop体验极差,甚至安装Scoop这一步都无法进行。国内有位作者将scoop主程序托管在gitee,增加分流逻辑处理安装与更新所涉及的资源。链接:https://gitee.com/scoop-installer/scoop安装scoop主程序1.1初次安装(第一次在电......
  • xdoj-指针类别 题目及参考答案
    目录写在前面220题目参考答案231题目参考答案232题目参考答案233题目参考答案235题目参考答案236题目参考答案237题目参考答案470题目参考答案536题目参考答案561题目参考答案660题目参考答案661题目参考答案662题目参考答案663题......
  • windows命令大全.txt
    1echo和@回显命令@          #关闭单行回显echooff       #从下一行开始关闭回显@echooff      #从本行开始关闭回显。一般批处理第一行都是这个echoon       #从下一行开始打开回显echo   ......
  • 【win10/11 技巧】利用mklink命令解决C盘空间不足问题
    前言首先,要回答三个问题:1.去除C盘哪里的文件(准备放到回收站删的):C:\Users\[你电脑的用户名]\AppData\2.大前提要求:文件删了软件还能正常用。3.用什么命令:命令行的mklink/j 命令4.必须要求:在别的盘有富余的空间  ①.AppData文件夹的来由和打开方法所谓“AppDa......
  • lpksetup.exe与 语言包安装 和 本地化设置 相关,主要用于帮助用户添加或删除 Windows
    lpksetup.exe是Windows操作系统中的一个可执行文件,位于C:\Windows\System32目录下。它与语言包安装和本地化设置相关,主要用于帮助用户添加或删除Windows操作系统的语言包。以下是对lpksetup.exe的详细介绍:1. 功能lpksetup.exe主要用于管理Windows操作系统的语......
  • 常用docker 容器命令
    dockercontainerprune#删除所有停止的容器dockerimageprune#删除未使用的镜像dockervolumeprune#删除未使用的卷进入容器dockerexec-ittdengine/bin/bash退出容器exit复制当前服务器上的文件到指定服务器scp/opt/docker-compose.yml*root@172.16.1.26......
  • nmap命令详细教程
    Nmap(NetworkMapper)是一款开源的网络扫描和安全审计工具,广泛用于网络安全领域。它能够帮助用户快速发现网络上的主机和服务、识别操作系统类型以及进行漏洞扫描等任务。以下是Linux系统中Nmap的详细使用教程:一、Nmap的安装Nmap的安装相对简单,可以从Nmap的官方网站(https://......