powershell常用命令


powershell常用命令

1.PowerShell判断数组里面是否包含指定字符串元素

$arrColors = "blue", "red", "green", "yellow", "white", "pink", "orange", "turquoise"

# 判断数组是否包含指定元素

$arrColors -contains "black"

# 判断数组是否包含指定元素(大小写敏感)

$arrColors -ccontains "Green"

# 判断数组是否不包含指定元素

$arrColors -notcontains "violet"

# 判断数组是否不包含指定元素(大小写敏感)

$arrColors -cnotcontains "Green"

2.PowerShell:连接与分隔字符串

一、连接字符串

  • 使用"+"连接字符串:将字符串连接在一起,字符串之间没有分隔符。

$string1="abc" 

$string2="def"

$string3=$string1+$string2

$string3

  • "-Join"连接字符串:

语法:

-Join (String1,String2,String3...) 不使用分隔符连接字符串

String1,String2,String3… -Join "Delimiter" 使用分隔符连接字符串

例1:

$a=-Join("abc","def","ghi")

$a

例2:

$b="abc","def","ghi" -Join ":"

$b

  • 使用"*"运算符:字符串自连接

$string1="abc"

$string2=$string1*3

$string2

二、分隔字符串

语法:

-Split String 根据空格分隔字符串

String -Split "Delimiter" [,MaxSubStrings] 根据指定分隔符分隔字符串

例1:

$a="abc def ghi"

-Split $a

例2:

$a="abc:def:ghi"

$a -Split ":"

 3.PowerShell中的灵活的参数验证功能

1)普通方式:

function  Get-Weekday
{
   param
   (
     $Weekday
   )
   
   "You chose $Weekday"
}
PS>  Get-Weekday  -Weekday  NoWeekday
You chose NoWeekday

2).正则表达式类型的验证方式:

function  Get-Weekday
{
param
(
[ ValidatePattern ( 'Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday' )]
$Weekday
)
"You chose $Weekday"
}

 现在一旦用户输入的字符串与你指定的模式不匹配时,Powershell会抛出一个异常,但是这个异常信息不够友好。在输出参数时,控制台或着ISE编辑器也不能智能提示:

 3)使用ValidateSet:

function  Get-Weekday
{
param
(
[ ValidateSet ( 'Monday' 'Tuesday' 'Wednesday' 'Thursday' 'Friday' 'Saturday' 'Sunday' )]
$Weekday
)
"You chose $Weekday"
}
现在用户在输出参数时被限定在你规定的值集合中,另外在ISE中还会智能提示用户允许的值列表。

 4.查看、执行服务命令

1)查看windows下的所有服务

Get-Service

或者

sc.exe query

2)查看运行中的服务

Get-Service |findstr "Running"

3)查看某个服务状态

Get-Service -ServiceName Dhcp

或者

sc.exe query Dhcp

4)启动某个服务

sc.exe start Dhcp

4)停止某个服务 

 sc.exe stop Dhcp

4.write-error、write-warning、$host.UI.WriteErrorLine('内容')、$host.UI.WriteErrorLine('内容')

如果你想在PowerShell控制台上输出错误信息或者警告信息,可以分别使用write-error和write-warning这两条命令。它们会采用系统中默认的字体颜色来打印文本。PowerShell会为你的输出采用一个文本模板。

但是Write-Error会引入一个实际的异常,可能会中断脚本的继续运行。如果你只想输出一个看起来像错误的消息,那不妨试试下面这种靠谱一点的写法:

 5.文件或文件夹操作

1)删除文件夹及其下所有文件

Remove-Item D:/uu898work/log -Force -Recurse

 2)复制文件

Copy-Item d:\ops\win\nssm.exe c:\windows\system32\

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM