Windows 10中常用的15项PowerShell高级任务

系统 Windows
虽然要成就 PowerShell 专家必掌握大量基础知识和大量实践,但它却可以实现对 Windows 和微软其它主流产品的几乎所有管理功能(包括很多图形界面都无法实现的功能)。然 PowerShell 对新手用户来说可能会感觉陌生甚至恐惧,但通过本文介绍的 15 个 PowerShell 高级任务,应该能帮助 Windows 用户了解其基本用途,并帮大家开启一扇新的学习大门。

[[177987]]

想必一直关注 Windows 10 开发进度的朋友已经知道,微软将于 Windows 10 Creators Update 中直接用 PowerShell 替换掉命令提示符(CMD),此前系统极客也早就建议大家弃用 CDM 直接使用 PowerShell。目前微软已经开始 PowerShell 向 Linux 系统的布局,而自家产品特别是企业级产品中,PowerShell 早已成为首要管理接口(图形界面反而次之),此后直接在 Windows 中提升 PowerShell 地位,逐步将 CDM 淡出历史舞台也是必然。

虽然要成就 PowerShell 专家必掌握大量基础知识和大量实践,但它却可以实现对 Windows 和微软其它主流产品的几乎所有管理功能(包括很多图形界面都无法实现的功能)。然 PowerShell 对新手用户来说可能会感觉陌生甚至恐惧,但通过本文介绍的 15 个 PowerShell 高级任务,应该能帮助 Windows 用户了解其基本用途,并帮大家开启一扇新的学习大门。

打开PowerShell环境

Windows 10 中已内置了 PowerShell 命令行环境,大家可以直接搜索「PowerShell」并以管理员身份运行。

或者在搜索栏中键入 PowerShell 搜索到之后用Ctrl + Shift + 回车打开。

设置日期和时间

有很多种方法都可以设置 Windows 系统的时间、日期,但使用 PowerShell 应该说是最快捷的方式了,只需类似如下命令即可:

  1. Set-Date -date "2016-12-01 8:30 AM" 

AM 和 PM 相信不用解释了吧。

调整日期和时间

某些特殊情况下,我们可能需要对日期和时间进行调整而不是直接指定具体值,要完成此任务还是使用 Set-Date cmdlet,但用法与此前就有所不同了,例如:

  1. Set-Date (Get-Date).AddDays(2) 

从上面命令大家可以看到,我们先通过 Get-Date 获取当前日期之后再触发 Set-Date 为日期加 2。当然此命令还可以使用 AddHours、AddMinutes 或 AddSeconds 为时间增加时、分、秒等。

验证文件和文件夹

PowerShell 命令可以方便地检查计算机上是否存在某个文件和文件夹,使用 Test-Path cmdlet 再跟上路径即可完成验证,而无需花时间在资源管理器中去找。例如:要验证 C 盘是否存在一个名为 PowerShell.xlsx 的 Excel 文件可以使用如下命令:

  1. Test-Path c:\PowerShell.xlsx 

此命令返回的是 True 或 False 这样的布尔值,如果你不知道确切的文件名,也可以直接使用通配符,例如:

  1. Test-Path c:\*.xlsx 

重命名文件和文件夹

一旦你知道文件名文件夹的确切路径,PowerShell 也可以非常容易地重命名文件和文件夹,只需参考如下示例使用Rename-Item cmdlet 即可:

  1. Rename-Item c:\PowerShell.xlsx New_PowerShell.xlsx 

移动文件和文件夹

使用 PowerShell 移动文件或文件夹也非常容易,使用 Move-Item cmdlet 即可,例如:

  1. Move-Item c:\PowerShell.xlsx d:\PowerShell.xlsx 

结合通配符使用,可以快速将特定类型的文件从一个文件夹移动到另一个文件夹:

  1. Move-Item c:\*.xls d:\excel\ 

打开程序

Invoke-Item cmdlet 可以直接在 PowerShell 提示符中打开应用程序:

  1. Invoke-Item c:\Windows\System32\notepad.exe 

但已经在 Windows Path 路径中的应用可以直接用名称执行,例如:

  1. notepad 

使用默认程序打开文件

Invoke-Item cmdlet 除可以执行应用程序外,还可直接用于打开文件。但需要大家注意的是,使用它打开文件时,只会使用该文件类型关联的默认应用程序打开。

  1. Invoke-Item c:\Sysgeek\Hello.txt 

以批处理形式打开文件

当 Invoke-Item cmdlet 与通配符结合时,可以批量打开某类型的文件:

  1. Invoke-Item c:\Sysgeek\*.txt 

读取文本文件

PowerShell 是可以直接处理文本文件内容的,例如使用 Get-Content 命令即可读取文本文件内容:

  1. Get-Content c:\Sysgeek\Hello.txt 

如果你只是想预览文件,而非阅读整个文本,可以使用 -totalcount 参数:

  1. Get-Content c:\Sysgeek\Hello.txt -totalcount 1 

添加文本内容

除读取文本文件内容外,在 PowerShell 中使用 Add-Content cmdlet 可以直接添加内容:

  1. Add-Content c:\Sysgeek\Hello.txt "by 海猴子" 

当然,此命令只是将文本追加到文件***,不一定满足你的需求。

统计文本文件

不论是要统计普通文件也好,还是想统计一天编写了多少行代码,都可以使用如下命令:

  1. Get-Content c:\Sysgeek\Hello.txt | Measure-Object 

服务状态统计

当你需要统计 Windows 服务及状态时,此前可能会手动一个一个去查看,其实使用 PowerShell 的 Get-Service cmdlet 即可立即遍历出当前系统上的所有服务及状态:

  1. Get-Service 

除此之外,要按服务状态进行统计也非常方便,例如要统计当前所有已停止的服务可以使用如下命令:

  1. Get-Service | Where-Object {$_.status -eq "stopped"

重启服务

一旦你确定某个服务导致问题时,可以直接从 PowerShell 重新启动它:

  1. Restart-Service Dnscache 

如果你不知道具体的服务名称,也可以通过参数来指定服务的显示名称:

  1. Restart-Service -displayname "DNS Client" 

更改服务启动状态

在 PowerShell 中更改服务的启动状态也非常简单,只需使用 Set-Service 的 -startuptype 参数即可:

Set-Service Dnscache -startuptype "manual"

该参数还可以用 automatic(自动启动)和 disabled (禁用)两个参数来取代。

强制刷新Windows 10 Apps

如果你的 Windows 10 Apps 卡在启动界面或无法初始化,可以使用如下 PowerShell 命令来强制刷新应用:

  1. Get-AppXPackage -AllUsers | Foreach {Add-AppxPackage -DisableDevelopmentMode -Register "$($_.InstallLocation)\AppXManifest.xml"

除此之外,PowerShell 还可用于卸载 Windows 10 内置应用。

小结

对于 PowerShell 与 CMD 的区别系统极客此前已有文章进行过介绍,本文介绍的都是 PowerShell Cmdlet 的最基础用法,算是为大家学习 PowerShell 进行抛砖引玉吧。

责任编辑:武晓燕 来源: 系统极客
相关推荐

2020-03-12 18:34:30

Windows 10Windows任务管理器

2009-03-12 18:35:24

Windows 7任务栏

2009-04-27 16:09:32

Windows 7微软操作系统

2021-02-02 14:55:48

React前端高优先

2010-11-08 14:47:02

Powershell函数

2021-02-22 11:48:19

Windows 10Windows微软

2021-12-28 00:21:29

Windows 10Windows微软

2013-11-05 10:44:29

PowerShellWindows Ser

2020-02-04 19:00:12

Linux微软Windows操作系统

2017-12-25 08:32:40

WindowsWebAI

2009-11-10 09:13:06

2013-05-20 10:38:02

Quartz企业级开发任务调度

2019-12-05 09:20:14

Windows 10透明任务栏

2019-12-24 11:16:09

Windows 10Windows任务栏

2017-07-14 11:50:15

Windows 10Windows计划任务

2011-10-08 13:54:27

JavaScript

2011-02-14 10:21:04

Windows PowWMI

2010-04-28 18:17:16

Oracle CASE

2010-12-31 14:30:35

PowerShell

2020-09-16 07:00:00

Windows 10Windows操作系统
点赞
收藏

51CTO技术栈公众号