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"
}
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\
