PowerShell-1.入门及其常用
? ? PowerShell可以理解成是加強版的批處理,但是和批處理完全不同,比如可以調用API等。應用場景平時使用的用戶機基本都支持了(出了XP)。
常用情節:便捷快速開發,或者是**(因為不存在自己的PE,so...)
比如我是WIn764。
?
運行起來大體是這個樣子。
?
*********************************************************************
Powershell常用命令:(隨便來幾個)
1.Get-Command 得到Powshell所有命令
2.Get-Process 獲取所有進程
3.Set-Alias ?給指定命令重命名 如:Set-Alias aaa Get-Command
4.Set-ExecutionPolicy remotesigned 設置powershell可直接執行腳本文件 一般腳本文件以.ps1結尾 執行腳本文件直接輸入文件地址即可執行 ?腳本文件中只寫命令即可
5.Get-Help get-* 查詢以get開頭的命令 ??Get-Help *service* ?Get-Help Get-Command 獲取Get-Command命令的基本用法(get-help * | out-file C:\xxx.dat ??獲取所有幫助并且重定向輸出)
6.Get-Member 獲取對象屬性 ?如: $var | Get-Memeber ?訪問$var屬性 直接$var.ToString()
7.Stop-Process XX ???????????????????關閉某個進程
...
********************************************************************
PS中的變量定義
不需要定義或聲明數據類型
在變量前加"$"
定義變量的規則
??-變量可以是數字 $123
??-變量可以是字符串 $abc
??-變量可以是特殊字符 ${@1b}
?內置的變量
???-$pshome
???-$home
???-$profile
?
變量賦值: $var=123 ?$var="aaaaaa"
取變量值: $var
?
變量賦值方法:Set-Variable var 100
取值方法: ???Get-Variable var
清空值: ?????Clear-Variable var
刪除變量 ????Remove-Variable var
取多個變量如var1 var2 var3地值: ??Get-Variable var*
?
另一種賦值方法 $var1="bbb" ???$var2="$var $var1" ?結果$var2="aaaaaa bbb"
???????????????$var2='$var $var1' 結果$var2="$var $var1"
?
*********************************************************************
排序用法
Get-Process | Sort-Object ws ??根據WS值由小到大排序
Get-Process | Sort-Object | fl ???Get-Process | Sort-Object | Format-List ?以列表形式顯示數據
*********************************************************************
導入導出文件
Get-Process > c:/aa.txt
Get-Process | Export-Clixml c:/ddd.xml ?將命令執行結果導出到xml文件中
Import-Clixml c:/ddd.xml ?將xml文件導出到控件臺
*********************************************************************
注釋使用
Get-Proccess | #這里寫注釋信息
sort ws
*********************************************************************
比較運算符
$var="abc"
$var -like "&b&" ?返回true ?../我測試是假
$var -clike "&b&" ??返回true../我測試是假
*********************************************************************
函數使用
案例:在一個腳本文件中有如下代碼:
$var1=10
function one{"The Variable is $var1"}
function two{$var1=20;one}
one
two
one
執行結果: The Variable is 10
?????The Variable is 20
??????????The Variable is 10
此示例表明,在函數中改變變量值并不影響實際值
若需改變其值請看如下代碼:
$var1=10
function one{"The Variable is $var1"}
function two{$Script:var1=20;one}
one
two
one
執行結果: The Variable is 10
?????The Variable is 20
??????????The Variable is 20
?
?
?
freach使用
$var=1..6 ?#定義數組
foreach($i in $var)
{
???$n++
???Write-Host "$i"
}
Write-Host "there were $n record"
*********************************************************************
if使用
Get-Service | foreach{
??if($_.status -eq "running"){
?????Write-Host $_.displayname ?"("$_status")" -foregroundcolor "green"
??}
??else
??{
?????Write-Host $_.displayname ?"("$_status")" -foregroundcolor "red"
??}
}
if (條件) {代碼}
elseif (條件) {代碼}
else (條件) {代碼}
else {代碼} .
? -eq 判斷是否等于(equal)
? -lt 判斷時候小于(less than)
? -gt 判斷是否大于(greater than)
? -ge 判斷是否大于或等于(greater of equal)
? -le 判斷是否小于或等于(less or equal)
? -ne 判斷是否不等于(no equal)
?
? -and 與
? -or 或
? -not 非
? ! 非
*********************************************************************
error使用
function one
{
???Get-Process -ea stop
???Get-ChildItem ada -ErrorAction stop ?#此句有誤
???Get-Process -ErrorAction stop
}
one
?
-ea 定義當錯誤發生以后該如何繼續執行
$?可以測試命令執行成功還是失敗,成功則結果為true 反之為false
?
?
單步調試
先設置Set-PSDebug -step
for($i=1;$i -le 10;$i++)
{
???Sleep(1)
??Write-Host "loop number $i"
}
?
總結
以上是生活随笔為你收集整理的PowerShell-1.入门及其常用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Windows核心编程 第十七章 -内存
- 下一篇: PowerShell-2.解决禁止本地执