PowerShell的基本使用方法
什麼是powershell
PowerShell首先是個Shell,定義好瞭一堆命令與操作系統,特別是與文件系統交互,能夠啟動應用程序,甚至操縱應用程序。PowerShell還能允許將幾個命令組合起來放到文件裡執行,實現文件級的重用,也就是說有腳本的性質。且PowerShell能夠充分利用.Net類型和COM對象,來簡單地與各種系統交互,完成各種復雜的、自動化的操作。也可以看作是微軟系統為瞭讓shell功能像linux系統一樣強大而推出的cmd.exe的擴展。
1. 如何啟動PowerShell
現在的Windows系統中一般都集成瞭PowerShell,啟動方法有如下幾種:
a) 直接開始菜單 -> 所有程序 -> Windows PowerShell -> Windows PowerShell(不同系統可能路徑不一樣)。啟動後效果如下:
b) 開始菜單 -> 運行(run) -> 輸入”PowerShell”。啟動成功後和上圖一樣。
c) 命令提示符(Command Prompt) -> PowerShell。啟動後效果如下:
啟動成功後就可以在裡面輸入要執行的命令瞭,這就是PowerShell的交互界面。
2. 如何運行程序、腳本和已有的軟件
如果以前經常使用一些別的工具進行開發,可能會有一些可執行文件、Perl腳本、批處理文件等,如果不想放棄這些,可以使用PowerShell直接運行它們。
a) 在系統路徑下運行程序、腳本、批處理文件或者其它可執行文件,可以直接輸入文件名運行。比如我把一個Test.cmd文件放在瞭”C:\Windows\System32”下, 就可以如下方式運行它:
b) 如果文件名字或路徑中有空格,需要用(’)引號將命令擴起來,同時在前面加上符號(&),這種叫做調用操作:
c) 要運行當前目錄下的命令,需要文件名前加.\,如:
d) 要運行當前目錄下的命令,而且命令名字或路徑帶有空格,需要同時加上符號(&)和(’):
3. 運行PowerShell命令
除瞭支持傳統的Windows可執行文件,PowerShell還推出瞭一個功能強大的新的命令叫做cmdlet。所有的cmdlet命令規則都遵循動詞-名詞這種語法結構,如Get-Command、Get-Content等,如下Get-Command命令意思是獲取包含Process的所有命令集合:
其中輸入”Get-Command -Name *Process”的時候,不用輸入完整的命令名,PowerShell會幫助你使用Tab鍵來自動完成命令輸入,包括命令的名稱和參數的名稱,如這樣輸入即可:Get-Comm<Tab> -N<Tab> *Process。
4. 如何查找指定命令以及命令詳情
a) 若要在PowerShell中執行一條任務,但苦於不知道用什麼命令的時候,這時就要查找一個命令,可以使用Get-Command命令,並且它支持通配符。例子如下:
b) 若要查看一個命令的作用,可以使用Get-Help命令。例子如下,還可以指定參數-Detailed、-Full、-Examples。
c) 由於PowerShell可以使用.NET Framework中的對象,因此要想查看一個對象的屬性和方法,可以使用Get-Member命令。例子如下:
5. 如何在外部調用PowerShell腳本
有時候可能需要從批處理文件、定時任務或者其它非PowerShell程序調用PowerShell腳本,語法:PowerShell “& ‘full path of the script’ arguments”。如下例子是從CMD調用PowerShell。
6. 如何獲知最後執行命令的狀態
PowerShell提供瞭兩個變量可以檢測最後執行的命令是否成功:$lastExitCode和$?。
$lastExitCode:數字型變量,返回最後腳本或應用程序執行返回的退出碼或出錯級別:
$?:佈爾型變量,返回最後執行命令的成功還是失敗:
變量$?使用更通用的方式來描述最後的應用程序退出的狀態,在以下應用程序發生錯誤的時候,PowerShell會設置$?為False:
應用程序退出碼非零;cmdlet或腳本輸出錯誤信息;cmdlet或腳本捕獲到終止錯誤或異常。
當命令執行沒有錯誤的時候,PowerShell設置$?變量為True。
7. 如何計算命令執行時間
如果想計算一個命令執行時間,可以使用Measure-Command命令,如下:
8. 瞭解命令的別名
PowerShell一些內置命令都有別名,方便記憶和輸入,可以用Get-Help命令查看別名,如下Get-Children的命令有三個別名:gci、ls和dir,輸入任意一個都可以列舉當前目錄。
9. 如何操作使用管理控制臺歷史命令
在PowerShell窗口中,按上下箭頭鍵可以尋找歷史命令進行調用,也可以運行Get-History命令查找,用Invoke-History Id方式進行調用:
10. 如何重定向輸出
如果想把得到的結果輸出到文件中,可以使用Out-File命令或者重定向操作符將命令輸出的結果保存在文件中:
11. 如何記錄PowerShell會話全文
如果想生成當前會話的記錄,可以運行Start-Transcript命令,它基於當前系統時間。如果想停止,運行Stop-Transcript:
12. 如何顯示對象屬性為列表或表格
使用Format-List和Format-Table命令,直接看例子:
13. 如何連接虛擬機中的系統
到此這篇關於PowerShell的基本使用方法的文章就介紹到這瞭,更多相關PowerShell 使用 內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- 關於為Windows Service 2019 使用 Docker的問題
- Python移動測試開發subprocess模塊項目實戰
- Java魔法堂之調用外部程序的方法
- 網絡安全漏洞滲透測試之文件上傳繞過思路案例詳解
- 用Python監控你的朋友都在瀏覽哪些網站?