power shell系统管理

第7章-power shell系统管理

【简介】

Øpowershell是微软公司于2006年第四季度正式发布的,它的出现标志着微软向服务器领域迈出了重要的一步,拉近了UXIN、Linux系统的距离

ØPowerShell定义了200多个cmdlet

一、使用cmdlet管理系统

(1)、管理文件、文件夹

对PowerShell来说,文件与文件夹都被称为项(Item),对文件与文件夹通过参数来区分

1、New-Item:创建文件或文件夹

【New-Item常用的参数】

-Force:允许cmdlet创建项以覆盖现有只读项

-ItemType:指定新项的类型,如文件是File,文件夹是directory

-Name:指定创建新项的名称

-Path:指定新项的路径

-Value:指定新项的值


【例如,在C盘下创建一个新文件夹,命名为Powershell】

New-Item-Path c:\ -Name Powershell -ItemType directory


例如,在Powershell文件夹下创件一个文本文件,命名为date.txt,内容hello】

New-Item-Path c:\Powershell -Nmae date.txt -value "hello" -ItemType file

2、Get-ChildItem:显示文件夹内容

【Get-ChildItem常用的参数】

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

-include:只检索指定项,此参数的值对Path参数进行限定

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

-Path:指定一个或多个位置的路径,默认位置为当前目录()

-Recurse:获取指定位置及其所有子项中的项


【例,检索当前目录及其子目录中的所有txt文件】

Get-ChildItem. -Include *.txt -Recurse -Force


【例,检索当前目录的文件与文件夹的名称】

Get-ChildItem-Name

3、Remove-Item:删除指定项

【Remove-Item常用的参数】

-Exclude:忽略指定项

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

-Include:只删除指定项

-Path:指定要删除的项的路径

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


【例,删除c:\PowerShell目录中所有包含“.”的文件】

Remove-Itemc:\PowerShell\*.*


【例,删除当前目录下所有扩展名为.doc的文件的语法】

Remove-Item* -include *.doc

(2)、管理事件日志

1、Get-EventLog:查看事件日志

【Get-EventLog常用的参数】

-After:只获取在指定的日期和时间之后发生的事件

-Before:只获取在指定的日期和时间之前发生的事件

-ComputeName:指定远程计算机、远程计算机可以是NetBIOS名称,Internet

协议(IP)地址或完全限定的域名

-EntryType:获取具有指定条目烦劳型的事件。有效值包括Error、Information、FailureAudit、SuccessAudit和Warning

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

-LogName:指定事件日志,此参数是必需的

-Message:获取其消息中具有指定字符串的事件

-Newest:指定检索事件的最大数目

-Source:获取由指定源写入日志的事件


【例,获取事件日志列表】

Get-EventLog-List


【例,筛选事件日志,获取最新的100条系统(system)日志】

Get-EventLog-LogName system -Newest 100


【例,获取类型(EntryType)为“Error”的系统日志】

Get-EventLog-LogName system -EntryType error


【例,获取类型为“Warning”的安全日志】

Get-EventLog-LogName security -EntryType warning

【例,获取来源为“outlook”的应用程序(Application)日志】

Get-EventLog-LogName application -source outlkki


【例,事件日志高级操作,获取最新的1个系统(system)日志】

Get-EventLog-LogName system -Newest 1


【例,获取某项日志的详细信息】

Get-EventLog-LogName system -Newest 1 | Format-List-Property *


2、Clear-EventLog:删除日志

【Clear-EventLog常用的参数】

-ComputerName:指定远程计算机,默认值为本地计算机

-LogName:指定事件日志


【例,清除应用程序下的所有日志条目】

Clear-EventLog-LogName application


【例,清除远程计算机server01应用程序日志下的所有日志条目】

Clear-EventLog-LogName application -ComputerName server01

(3)、管理系统服务

1、Get-Service:查看所有服务

【Get-Service常用的参数】

-ComputerName:获取指定计算机上运行的服务。默认值为本地计算机,计

算机名可以是远程计算机的NetBIOS名称、IP地址或者域名

-DependentServices:只获取依赖于指定服务的服务

-DisplayName:指定服务的显示名称

-Exclude:忽略指定服务

-Name:指定要检索的服务的名称

-RequiredServices:获取此服务所需要的服务


【例,获取所有以SP开头服务名(注意不显示名)的服务】

Get-ServiceSP*


【例,利用where-Object筛选出所有状态为“Running”的服务】

Get-Service| where-Object { $-.status -eq "Running" }


【例,利用Dependent Services属性,可以快速列出所有被其他服务依赖的服务】

Get-Service| where { $_.Dependent Services }

【例,找出打印服务(spooler)所依赖的服务】

Get-Servicespooler -RequiredServices


【例,查看spooler服务的详细信息】

Get-Servicespooler | Format-List *


2、Set-Service:设置服务的启动状态等属性

【Set-Service常用的参数】

-ComputerName:指定一台或多台计算机

-Description:指定服务的新说明,服务说明将出现在计算机管理的服务中

-DisplayName:指定服务的新显示名称

-Name:指定要更改的服务的服务名称,不允许使用通配符

-StartupType:更改服务的启动模式

          Automatic:在系统启动时启动

          Manual:仅在由用户或程序时启动

          Disabled:无法启动

-Status:启动、停止或挂起(暂停)服务

          Running:启动服务

          Stopped:停止服务

          Paused:挂起服务


【例,将打印服务spooler的状态设置为手动(Manual)】

Set-Service-Name spooler -startupType manual

3、Start-Service:启动一个或多个已停止的服务

【Start-Service常用的参数】

-DisplayName:利用显示名称来启动服务

-Exclude:忽略指定服务

-Name:指定要启动的服务名称


【例,启动spooler打印服务】

Start-Service-DisplayName "Print spooler

4、Stop-Service:停止一个或多个正在运行的服务

【Stop-Service常用的参数】

-DisplayName:指定要停止的服务的显示名称

-Exclude:忽略指定服务

-Name:指定要停止的服务名称

-Force:强制停止服务(即使该服务有依赖服务)


【例,停止打印机服务】

Stop-Servicespooler -Force


【例,找到并将停止防火墙服务】

Get-Service-DisplayName "Windows Firewall" | Stop-Service








你可能感兴趣的:(shell,it,power,Windows脚本,cmdlet管理系统,甘兵)