Powershell 能夠像CMD一樣很好的執行外部命令。
通過netstat查看網路連接埠狀態
PS C:\PS> netstatActive Connections Proto Local Address Foreign Address State TCP 192.168.0.100:3049 192.168.0.88:7575 ESTABLISHED TCP 192.168.0.100:3052 192.168.0.88:7575 ESTABLISHED TCP 192.168.0.100:3061 192.168.0.88:7575 ESTABLISHED
通過IPConfig查看自己的網路設定
PS C:\PS> ipconfigWindows IP ConfigurationEthernet adapter Local Area Connection: Connection-specific DNS Suffix . : www.mossfly.com Link-local IPv6 Address . . . . . : fe80::b9dd:91e33:33f0:7885%10 IPv4 Address. . . . . . . . . . . : 192.168.140.100 Subnet Mask . . . . . . . . . . . : 255.255.252.0 Default Gateway . . . . . . . . . : 192.168.140.1Tunnel adapter isatap.www.mossfly.com: Connection-specific DNS Suffix . : www.mossfly.com Link-local IPv6 Address . . . . . : fe80::5efe:192.168.140.100%11 Default Gateway . . . . . . . . . :Tunnel adapter Teredo Tunneling Pseudo-Interface: Media State . . . . . . . . . . . : Media disconnected Connection-specific DNS Suffix . :
route print查看路由資訊
PS C:\PS> route printIPv4 Route Table===========================================================================Active Routes:Network Destination Netmask Gateway Interface Metric 0.0.0.0 0.0.0.0 192.168.140.1 192.168.140.100 20 192.0.0.0 255.0.0.0 On-link 192.0.0.1 306 192.0.0.1 255.255.255.255 On-link 192.0.0.1 306 192.255.255.255 255.255.255.255 On-link 192.0.0.1 306 192.168.140.0 255.255.252.0 On-link 192.168.140.100 276 192.168.140.100 255.255.255.255 On-link 192.168.140.100 276 192.168.143.255 255.255.255.255 On-link 192.168.140.100 276 224.0.0.0 240.0.0.0 On-link 192.0.0.1 306 224.0.0.0 240.0.0.0 On-link 192.168.140.100 276 255.255.255.255 255.255.255.255 On-link 192.0.0.1 306 255.255.255.255 255.255.255.255 On-link 192.168.140.100 276===========================================================================Persistent Routes: NoneIPv6 Route Table===========================================================================Active Routes: If Metric Network Destination Gateway 1 306 ::1/128 On-link 10 276 fe80::/64 On-link 11 281 fe80::5efe:192.168.140.100/128 On-link 10 276 fe80::b965:91f3:33a0:7285/128 On-link 1 306 ff00::/8 On-link 10 276 ff00::/8 On-link===========================================================================Persistent Routes: None
啟動CMD控制台
啟動CMD控制台鍵入cmd或者cmd.exe,退出cmd可以通過命令exit。
PS C:\PS> cmdMicrosoft Windows [Version 6.1.7601]Copyright (c) 2009 Microsoft Corporation. All rights reserved.C:\PS>exitPS C:\PS>
尋找可用的Cmd控制台命令
Cmd.exe 通過 /c 來接收命令參數,在Cmd中help可以查看可用的命令,所以可以通過Cmd c help 尋找可用的Cmd控制台命令
PS C:\PS> cmd /c help有關某個命令的詳細資料,請鍵入 HELP 命令名ASSOC 顯示或修改副檔名關聯。ATTRIB 顯示或變更檔屬性。BREAK 設定或清除擴充式 CTRL+C 檢查。BCDEDIT 設定啟動資料庫中的屬性以控制啟動載入。CACLS 顯示或修改檔案的存取控制清單(ACL)。CALL 從另一個批次程式調用這一個。CD 顯示目前的目錄的名稱或將其更改。CHCP 顯示或設定活動字碼頁數。CHDIR 顯示目前的目錄的名稱或將其更改。CHKDSK 檢查磁碟並顯示狀態報表。CHKNTFS 顯示或修改啟動時間磁碟檢查。CLS 清除螢幕。CMD 開啟另一個 Windows 命令解釋程式視窗。COLOR 設定預設控制台前景和背景顏色。COMP 比較兩個或兩套檔案的內容。COMPACT 顯示或更改 NTFS 分區上檔案的壓縮。CONVERT 將 FAT 卷轉換成 NTFS。您不能轉換 當前磁碟機。COPY 將至少一個檔案複製到另一個位置。DATE 顯示或設定日期。DEL 刪除至少一個檔案。DIR 顯示一個目錄中的檔案和子目錄。DISKCOMP 比較兩個磁碟片的內容。DISKCOPY 將一個磁碟片的內容複寫到另一個磁碟片。DISKPART 顯示或配置磁碟分割屬性。DOSKEY 編輯命令行、調用 Windows 命令並建立宏。DRIVERQUERY 顯示當前裝置驅動程式狀態和屬性。ECHO 顯示訊息,或將命令回顯開啟或關上。ENDLOCAL 結束批檔案中環境更改的本地化。ERASE 刪除一個或多個檔案。EXIT 退出 CMD.EXE 程式(命令解釋程式)。FC 比較兩個檔案或兩個檔案集並顯示它們之間的不同。FIND 在一個或多個檔案中搜尋一個文本字串。FINDSTR 在多個檔案中搜尋字串。FOR 為一套檔案中的每個檔案運行一個指定的命令。FORMAT 格式化磁碟,以便跟 Windows 使用。FSUTIL 顯示或設定檔系統的屬性。FTYPE 顯示或修改用在副檔名關聯的檔案類型。GOTO 將 Windows 命令解釋程式指向批次程式 中某個帶標籤的行。GPRESULT 顯示機器或使用者的組策略資訊。GRAFTABL 啟用 Windows 在圖形模式顯示擴充字元集。HELP 提供 Windows 命令的協助資訊。ICACLS 顯示、修改、備份或還原檔案和 目錄的 ACL。IF 在批次程式中執行有條件的處理過程。LABEL 建立、更改或刪除磁碟的卷標。MD 建立一個目錄。MKDIR 建立一個目錄。MKLINK 建立符號連結和永久連結MODE 配置系統裝置。MORE 逐屏顯示輸出。MOVE 將一個或多個檔案從一個目錄移動到另一個目錄。OPENFILES 顯示遠端使用者為了檔案分享權限設定而開啟的檔案。PATH 為可執行檔顯示或設定搜尋路徑。PAUSE 停止批次檔的處理並顯示資訊。POPD 還原由 PUSHD 儲存的目前的目錄上一次的值。PRINT 列印一個文字檔。PROMPT 改變 Windows 命令提示。PUSHD 儲存目前的目錄,然後對其變更。RD 刪除目錄。RECOVER 從損壞的磁碟中恢複可讀取的資訊。REM 記錄批次檔或 CONFIG.SYS 中的注釋。REN 重新命名檔案。RENAME 重新命名檔案。REPLACE 替換檔案。RMDIR 刪除目錄。ROBOCOPY 複製檔案和分類樹的進階公用程式SET 顯示、設定或刪除 Windows 環境變數。SETLOCAL 開始用批檔案改變環境的本地化。SC 顯示或佈建服務(幕後處理)。SCHTASKS 安排命令和程式在一部電腦上按計劃運行。SHIFT 調整批次檔中可替換參數的位置。SHUTDOWN 讓機器在本地或遠程正確關閉。SORT 將輸入排序。START 開啟單獨視窗運行指定程式或命令。SUBST 將磁碟機代號與路徑關聯。SYSTEMINFO 顯示機器的具體的屬性和配置。TASKLIST 顯示包括服務的所有當前啟動並執行任務。TASKKILL 終止正在啟動並執行進程或應用程式。TIME 顯示或設定系統時間。TITLE 設定 CMD.EXE 會話的視窗標題。TREE 以圖形顯示啟動器或路徑的目錄結構。TYPE 顯示文字檔的內容。VER 顯示 Windows 的版本。VERIFY 告訴 Windows 驗證檔案是否正確寫入磁碟。VOL 顯示磁碟卷標和序號。XCOPY 複製檔案和分類樹。WMIC 在互動命令外殼裡顯示 WMI 資訊。
啟動外部程式
為什麼可以通過notpad開啟記事本,不能通過wordpad開啟寫字板?
因為notepad.exe位於C:Windows\system32 這個目錄,而這個目錄已經預設被包含在Powershell的環境變數$env:Path中。
C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Windows Kits\8.1\Windows Performance Toolkit\;C:\Program Files\Microsoft SQL Server\110\Tools\Binn\;C:\Program Files (x86)\Microsoft SDKs\TypeScript\1.0\;C:\Program Files\Microsoft\Web Platform Installer\
而wordpad.exe 所在的“%ProgramFiles%\Windows NT\Accessories\wordpad.exe“目錄卻沒有包含,可以先進入這個目錄,再運行wordpad,或者將wordpad所在的目錄加入到環境變數中,$env:Path=$env:Path+”%ProgramFiles%\Windows NT\Accessories”。
預設鍵入一個字串,powershell會將它原樣輸出,如果該字串是一個命令或者啟動程式,在字串前加‘&'可以執行命令,或者啟動程式。
PS C:\PS> "ls"lsPS C:\PS> &"ls" Directory: C:\PSMode LastWriteTime Length Name---- ------------- ------ ----d---- 2011/11/23 17:25 ABC-a--- 2011/11/23 17:36 14 a.txt-a--- 2011/11/23 17:25 0 b.txt-a--- 2011/11/23 17:25 0 c.txt-a--- 2011/11/23 17:25 0 d.txt-a--- 2011/11/23 17:37 242 test.txtPS C:\PS> "cmd.exe"cmd.exePS C:\PS> &"cmd.exe"Microsoft Windows [Version 6.1.7601]Copyright (c) 2009 Microsoft Corporation. All rights reserved.