首页 > 代码库 > PoweShell执行系统管理

PoweShell执行系统管理

使用PowerShell做系统管理主要做以下三个方面的管理

  • 管理文件系统

  • 管理事务日志

  • 管理系统服务




管理文件系统

  • 创建文件或文件夹 New-Item

  • 复制文件或者文件夹 Copy-Item

  • 显示文件夹内容 Get-ChildItem

  • 移动指定项Move-Item

  • 删除指定项 Remove-Item


New-Item

  • -Path:要创建的文件或文件夹路径,如果不加这个选项,则路径为PowerShell命令行的当前路径。

         通常的做法是用set-location切换路径到指定目录下

  • -Name:要创建的文件或文件夹名称

  • -ItemType:指定项的类型,目录为Directory,如果是文件,则需要在文件名后面加后缀如“文件.txt”、“技术文档.docx”等


查看New-Item的详细用法


技术分享



例如:在c:\路径下创建一个名为test目录

技术分享


例如:先用set-location切换路径,在创建目录

技术分享


例如:在当前路径下创建一个名为“文档”的word文件

技术分享



Get-ChildItem:

  • -Force:获取隐藏文件或系统文件、

  • -Include:只检索指定项

  • -Name:只检索位置中的项的名称

  • -Path:指定一个或多个位置的路径

  • -Recurse:将指定文件夹下的所有项目复制到目的路径


例如:查看C盘下所有文件和文件夹信息

语法:Get-ChildItem -Path “file\to\path”

技术分享


查看指定路径下所有文件和文件夹,包括隐藏文件

语法:Get-ChildItem -Path "file\to\path" -Force

技术分享

在Mode列下,h表示该文件为隐藏文件,s表示该文件为系统文件


Get-ChildItem:查找文件

-Include:根据条件查找文件和文件夹

语法:Get-ChildItem * -Include "条件"

技术分享


-Name:只检索位置中项的名称,

例如:只检索路径

技术分享


递归查询

-Recurse

技术分享



Remove-Item:

  • -Exclude:忽略指定项

  • -Force:删除隐藏文件或系统文件

  • -Include:只删除指定项

  • -Path:指定项的当前位置的路径

  • -Recurse:删除指定位置及这些位置的所有子项中项


例如:删除隐藏的test目录

技术分享

从上面的例子可以看到,隐藏的文件是不能被删除的,除非加了-Force选项,强制删除


通过条件来删除

例如删除所有后缀为txt文件

技术分享


上面这条命令可以用来清楚系统盘的垃圾文件

例如:删除系统盘所有临时文件

Remove-Item *.tmp -Recurse




管理事件日志

  • 查看实践日志:Get-EventLog

  • 删除事件日志Clear-EventLog


Get-EventLog

  • -LogName:查看指定类型的事件日志,词参数是必须的

  • -Newest:指定检索最新的多少条日志,后面加数字

  • -EntryType:只获取具有指定条目类型的事件,如查看error或者warning日志


-List:获取计算机上的事件日志列表

技术分享

从上图可以看到系统所有类型的日志,包括Application日志、Security日志、Windows PoweShell日志等


-LogName:查看指定类别的日志

例如:查看系统日志

Get-EventLog -LogName System


筛选日志:

例如只查看最近的十条系统日志

Get-EventLog -LogName System -Newest

技术分享


上面的例子上可以用下面的方式实现

Get-EventLog -LogName System | Select-Object -First 10

技术分享



查看最近十条系统的error日志

技术分享



根据时间Index来检索

技术分享


查看报错日志的详细信息

技术分享




清除日志:

  • -ComputerName:指定远程计算机

  • -LogName:指定事件日志


-LogName:清除指定类型的日志

例如:清除应用程序日志

技术分享

从上图可以看到,清除后,日志数量为0



管理系统服务:

  • 查看所有服务Get-Service

  • 设置服务的启动状态等属性Set-Service

  • 启动一个或者多个已经停止的服务Start-Service

  • 停止一个或者多个服务Stop-Service


查看本地所有服务,注意:如果是查看本机的服务,可以不用加-ComputerName 127.0.0.1选项

技术分享



查看本地所有启动的服务(Status不能作为选项,所以使用通用的筛选方式来检索)

技术分享


根据DisplayName来检索服务

技术分享


查看Tlntsvr服务的详细信息

技术分享


启动TlntSvr服务

技术分享这里无法启动,是因为该服务启动类型被设置为禁止启动了

技术分享


Set-Service: 设置服务相关属性

-StartupType:设置服务的启动类型

自动:automatic

禁用:disabled

手动:manual


例如:在前面的例子中,修改telnet服务的启动类型为自动其他,并启动该服务

技术分享





本文出自 “zengestudy” 博客,请务必保留此出处http://zengestudy.blog.51cto.com/1702365/1867468

PoweShell执行系统管理