powershell 基本使用

本文详细介绍了PowerShell的基础知识,包括查看版本、模糊查询、获取命令、设置执行政策、变量定义、比较运算符、数组操作、集合与对象概念、服务管理、判断与循环以及Where过滤的使用示例。
摘要由CSDN通过智能技术生成

一、基础

查看powershell版本.通过内置变量可以查看

$PSversionTable

1.模糊查询命令

help *service* : 查询包含关键字得命令

2.获取所有命令

get-command

3.获取命令帮助信息

get-help 命令
或者
help 命令

4.查看别名命令得全称

get-alias -name ls

5.powershell脚本

默认策略,不允许执行powershell脚本

PS C:\Users\Administrator> Get-ExecutionPolicy
Restricted

设置允许windows运行powershell脚本.

set-executionpolicy RemoteSigned

6.powershell中的打印

在powershell 脚本中中打印任何内容,不需要使用echo或者pront的打印任何动作。
打印字符串直接使用 “打印内容”。
如果要打印的话可以使用

Write-Host "123"

7.比较运算符

7.1 特点:

在比较运算符号中,不区分大小写。可能有些特殊的地方需要区分

1.-eq:等于
PS C:\Users\Administrator\Desktop> 1 -eq 1
True
PS C:\Users\Administrator\Desktop> "hello" -eq "HELLo"
True

2. -ne: 不等于
PS C:\Users\Administrator\Desktop> 1 -ne 1
False
PS C:\Users\Administrator\Desktop> 1 -ne 2
True
PS C:\Users\Administrator\Desktop> "hello" -ne "HELLO"
False


3.-lt: 小于
PS C:\Users\Administrator\Desktop> 1 -lt 2
True

省略
-le:小于等于
-gt: 大于
-ge:大于等于


4.-and: 并且
PS C:\Users\Administrator\Desktop> 1 -eq 1 -and 2 -eq 2
True
PS C:\Users\Administrator\Desktop> 1 -eq 1 -and 2 -eq 3
False


-or: 或
PS C:\Users\Administrator\Desktop> 1 -eq 2 -or 2 -eq 2
True

-not: 取反
PS C:\Users\Administrator\Desktop> -not (1 -eq 2)
True

-in: 是否在范围内
PS C:\Users\Administrator\Desktop> $list=@(1,2,3,4)
PS C:\Users\Administrator\Desktop> 1 -in $list
True
PS C:\Users\Administrator\Desktop> 3 -in $list
True
PS C:\Users\Administrator\Desktop> 33 -in $list
False

二、变量基础

1.定义变量

$name="zhangsan"

2.打印变量

打印变量,不需要使用print或者echo等关键字
$name  

3.常用内置变量

3.1 $home

显示家目录

3.2 $?

上一条命令得发执行结果,成功是True 失败是False

4.数组

4.1 定义

方法1:
$arr=1,2,3,4,5

方法2:
$arr=1..10

方法3:定义空数组
$arr=@()

4.2 访问数组

访问数组依然使用下边的方法,下边从0开始

4.3 数组添加成员

$list=1,2,3
$list
"-"*100
$list+=10
$list

4.3 统计数组元素个输

$arr.count

5.引用命令的执行结果

在linux中使用反撇号或者 ( ) ,在 p s 中使用 ( ) 或者 (),在ps中使用()或者 (),在ps中使用()或者()

三、powershell概念

1.集合

在powershell中,显示的结果被称为一个集合

2.对象

执行powershell命令后,在显示的结果中,每一行就是一个对象

3.属性

执行powershell命令后,在显示的结果中,每一列 就是 属性

4.方法

方法是对 对象 的操作行为

5.查看命令的属性和方法

命令如下:Get-Service 是查看所有系统服务的命令,Get-Member是查看这条命令的的所有属性和方法

PS C:\Users\Administrator\Desktop> Get-Service|Get-Member
简写为
Get-Service | gm

结果如下:

Name                      MemberType    Definition
----                      ----------    ----------
......					  ......
Close                     Method        void Close()
......				  	  ......
Start                     Method        void Start(), void Start(string[] args)
Stop                      Method        void Stop()
WaitForStatus             Method        void WaitForStatus(System.ServiceProcess.ServiceControllerStatus desiredStat...
CanPauseAndContinue       Property      bool CanPauseAndContinue {get;}
CanShutdown               Property      bool CanShutdown {get;}
CanStop                   Property      bool CanStop {get;}
......					  ......
ToString                  ScriptMethod  System.Object ToString();

其中

property就是 属性(列)
method就是 方法

6.实例

6.1 查看"打印"服务

PS C:\Users\Administrator\Desktop> Get-Service -Name "*spooler*"

Status   Name               DisplayName
------   ----               -----------
Running  Spooler            Print Spooler

或者使用where也可以,下边会写where的用法

PS C:\Users\Administrator\Desktop> Get-Service|where {$_.name -eq "spooler"}

Status   Name               DisplayName
------   ----               -----------
Stopped  Spooler            Print Spooler

6.2 操作服务

方法1:stop()
 $ser=$(Get-Service -Name "*spooler*")
 $ser.stop()
方法2:Stop-Service
Get-Service -Name "*spooler*"  |Stop-Service

四、判断和循环

1.判断

$num = 1000

if($num -lt 60){
    "成绩不合格"
}
elseif($num -ge 60 -and $num -lt 90){
    "成绩良好"
}
elseif($num -ge 90){
    "成绩优秀"
}

2.循环

$port_list = 1..10
foreach($i in $port_list){
    "-" * 100
    $i
}

五、where过滤

1.语法:

这里的$_是固定写法,代码当前行。

where {$_ 比较运算符 "匹配对象"}

2.实例

匹配所有tcp协议中 处于listen状态的行。 state是列名

Get-NetTCPConnection | where {$_.State -eq "listen"} 

3.不显示header

ft -HideTableHeaders 隐藏了header. 而且只显示LocalPort字段
ft是格式化命令

Get-NetTCPConnection | where {$_.State -eq "listen"} |ft -HideTableHeaders LocalPort
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值