視頻地址:【黑客基礎】Windows PowerShell 腳本學習 2019.12.05 學習筆記 1、$PSVersionTable :查看PowerShell的版本信息。 2、PowerShell 界面: 開始界面搜索 “PowerShell” ,點擊 “PowerShell.exe” 或者 ...
視頻地址:【黑客基礎】Windows PowerShell 腳本學習
2019.12.05 學習筆記
1、$PSVersionTable :查看PowerShell的版本信息。
2、PowerShell 界面:
- 開始界面搜索 “PowerShell” ,點擊 “PowerShell.exe” 或者 “PowerShell ISE”。
- cmd 命令界面輸入 “PowerShell”。
3、PowerShell 快捷鍵
- Alt + F7 :清除命令等歷史記錄,相當於 cls 命令。
- Ctrl + PgUp :上翻頁。
- Ctrl + PgDn :下翻頁。
- 上下箭頭鍵 :切換命令行等歷史記錄。
- 左/右箭頭鍵 :左右移動游標。
- Ctrl + Home :
- Ctrl + End :
- ESC:清空當前命令行。
- Tab :自動補齊並選擇補齊命令或文件名。
- Enter :執行當前的命令。
- Ctrl + C :取消正在執行等命令。
- Backspace :從右刪除命令行字元。
- F2 :自動補充歷史命令到指定字元。
- F4 :刪除命令行至游標右邊指定等字元處。
- F7 :對話框顯示命令行歷史記錄。
- F8 :檢索包含指定字元的命令行歷史記錄。
- F9 :根據命令行等歷史記錄編號選擇命令,歷史記錄編號可以通過 F7 查看。
4、PowerShell 的管道
- PowerShell 的管道是基於對象的,和Linux Shell 基於文本不同。
- 管道:前一個命令的輸出作為下一個命令的輸入。
- 重定向:
- “>” 表示輸出到某文件,覆蓋文件原有的內容,如果文件不存在則自動創建。
- “>>” 表示添加到某文件內容的結尾。
5、PowerShell 的運算符
- 支持四則運算
- 支持數值的進位轉換
- 支持邏輯運算
6、PowerShell 使用外部命令
PowerShell 是 cmd 的擴展,cmd 的命令在 PowerShell 中基本都可以使用執行。
- netstat -ano :查看埠信息,同 cmd 命令。
- ipconfig :查看網路配置信息,同 cmd 命令。
- route print :列印路由信息,同 cmd 命令。
- start :打開應用程式。
- notepad :打開文本編輯器,同 cmd 命令。
- calc :打開計算器,同 cmd 命令。
- &"command" :打開PowerShell 外部命令,PowerShell 專用。
- $env:path :輸出 path 環境變數的內容。
$env:path = $env:path + "dir_path" :臨時添加 path 環境變數。
7、PowerShell 的命令集
- Get-Command :獲取 PowerShell 所有的命令。
- PowerShell 的命令類型有 Alias 、Function 、Cmdlet 三種。
- Alias :別名。
- Function :函數。
- Cmdlet :PowerShell 內部命令,以動-名詞的格式命名。
- Get-Help :獲取命令的幫助信息。
- Get-process :獲取系統的進程信息。
- Get-Alias :獲取別名對應的命令信息。
- Get-History :獲取命令行使用命令的歷史信息。
- Get-Date:獲取當前的日期時間信息。
8、PowerShell 的別名
- Get-Help :獲取命令的幫助信息,包含命令的別名信息。
- Get-Alias :獲取別名對應的命令信息。
- Get-Alias -name "ls" :獲取別名是“ls”的PowerShell命令。
- Get-Alias | where {$_.definition.startswith("Remove")} :獲取以“Remove”開頭命令的別名信息。
- Get-Alias | Group-Object definition | sort -descending Count :根據命令別名的個數倒序顯示命令及其別名。
9、自定義別名
- Set-Alias :定義命令的別名。
- Set-Alias -name txt -value notepad
- -name :指定命令的別名。
- -value :指定需要定義別名的命令。
- del alias:txt :刪除別名“txt”。
- Export-Alias :導出別名,
Export-Alias demo.ps1
。 - Import-Alias :導入別名,
Import-Alias demo.ps1
,不成功可以使用“-force”參數進行強制導入。
10、PowerShell 變數
- PowerShell 使用 $ 符號來定義變數,不需要指定變數類型。
- $var_name
- $var_name = value
- PowerShell 對大小寫不敏感。
- 定義變數使用特別的變數名需要使用花括弧將變數名括起來。
- 變數的賦值可以是別名、命令、表達式等。
- 多個變數可以同時賦值。
11、變數操作
兩個變數的值互換:
$tempt = $var1 $var_1 = $var_2 $var_2 = $tempt
$var_1,$var_2 = $var_2,$var_1
ls variable:
: 查看當前使用的變數。ls variable:var_name
: 查看變數 $var_name 的信息,支持正則表達式。Test-Path variable:var_name
:查看變數 $var_name 是否存在,返回布爾值。del variable:var_name
:刪除指定的變數。- Clear-Variable :清除指定的變數。
Remove-Variable:刪除指定的變數。
12、PowerShell 自動化變數
- 自動化變數是由 PowerShell 自己創建和維護的,一些變數是只讀而不能寫入的。
- $home :用戶根目錄路徑。
- $pid :當前界面進程的ID。
- $$ :上一個運行的命令。
- $? :上一個命令運行的狀態,返回布爾值。
- $_ :當前變數。
- $null :空值,空變數。
13、PowerShell 環境變數
ls env:
:查看環境變數信息。env:var_name
:顯示指定的環境變數信息,支持正則表達式。env:varname=value
:創建添加一個環境變數。del env:var_name
:刪除指定的環境變數,支持正則表達式。[environment]::setenvironmentvariable("PATH","D:\","User")
:設置用戶的 $PATH 變數,永久生效。[environment]::getenvironmentvariable("PATH","User")
:獲取環境變數 $PATH 。
14、PowerShell 腳本執行策略
- PowerShell 腳本以
.ps1
尾碼。 - Get-Executionpolicy :查看命令行的腳本執行許可權,返回 Restricted 表示禁止。
Set-Executionpolicy RemoteSigned
:允許命令行運行 PowerShell 腳本。
15、PowerShell 腳本調用
- 切換到桌面:cd desktop
- & “PowerShell_script_path” :執行腳本。
- .bat 腳本文件調用PowerShell 腳本:
powershell "& 'PowerShell_script_path'"