【黑客基礎】Windows PowerShell 腳本學習(上)

視頻地址:【黑客基礎】Windows PowerShell 腳本學習

2019.12.05 學習筆記

一、$PSVersionTable :查看PowerShell的版本信息。
二、PowerShell 界面:
  • 開始界面搜索 「PowerShell」 ,點擊 「PowerShell.exe」 或者 「PowerShell ISE」。
  • cmd 命令界面輸入 「PowerShell」。
三、PowerShell 快捷鍵
  • Alt + F7 :清除命令等歷史記錄,至關於 cls 命令。
  • Ctrl + PgUp :上翻頁。
  • Ctrl + PgDn :下翻頁。
  • 上下箭頭鍵 :切換命令行等歷史記錄。
  • 左/右箭頭鍵 :左右移動光標。
  • Ctrl + Home :
  • Ctrl + End :
  • ESC:清空當前命令行。
  • Tab :自動補齊並選擇補齊命令或文件名。
  • Enter :執行當前的命令。
  • Ctrl + C :取消正在執行等命令。
  • Backspace :從右刪除命令行字符。
  • F2 :自動補充歷史命令到指定字符。
  • F4 :刪除命令行至光標右邊指定等字符處。
  • F7 :對話框顯示命令行歷史記錄。
  • F8 :檢索包含指定字符的命令行歷史記錄。
  • F9 :根據命令行等歷史記錄編號選擇命令,歷史記錄編號能夠經過 F7 查看。
四、PowerShell 的管道
  • PowerShell 的管道是基於對象的,和Linux Shell 基於文本不一樣。
  • 管道:前一個命令的輸出做爲下一個命令的輸入。
  • 重定向:
    • 「>」 表示輸出到某文件,覆蓋文件原有的內容,若是文件不存在則自動建立。
    • 「>>」 表示添加到某文件內容的結尾。
五、PowerShell 的運算符
  • 支持四則運算
  • 支持數值的進制轉換
  • 支持邏輯運算
六、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 環境變量。shell

七、PowerShell 的命令集
  • Get-Command :獲取 PowerShell 全部的命令。
  • PowerShell 的命令類型有 Alias 、Function 、Cmdlet 三種。
  • Alias :別名。
  • Function :函數。
  • Cmdlet :PowerShell 內部命令,以動-名詞的格式命名。
  • Get-Help :獲取命令的幫助信息。
  • Get-process :獲取系統的進程信息。
  • Get-Alias :獲取別名對應的命令信息。
  • Get-History :獲取命令行使用命令的歷史信息。
  • Get-Date:獲取當前的日期時間信息。
八、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 :根據命令別名的個數倒序顯示命令及其別名。
九、自定義別名
  • 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」參數進行強制導入。
十、PowerShell 變量
  • PowerShell 使用 $ 符號來定義變量,不須要指定變量類型。
  • $var_name
  • $var_name = value
  • PowerShell 對大小寫不敏感。
  • 定義變量使用特別的變量名須要使用花括號將變量名括起來。
  • 變量的賦值能夠是別名、命令、表達式等。
  • 多個變量能夠同時賦值。
十一、變量操做
  • 兩個變量的值互換:windows

    • $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:刪除指定的變量。網絡

十二、PowerShell 自動化變量
  • 自動化變量是由 PowerShell 本身建立和維護的,一些變量是隻讀而不能寫入的。
  • $home :用戶根目錄路徑。
  • $pid :當前界面進程的ID。
  • $$ :上一個運行的命令。
  • $? :上一個命令運行的狀態,返回布爾值。
  • $_ :當前變量。
  • $null :空值,空變量。
1三、PowerShell 環境變量
  • ls env: :查看環境變量信息。
  • env:var_name :顯示指定的環境變量信息,支持正則表達式。
  • env:varname=value :建立添加一個環境變量。
  • del env:var_name :刪除指定的環境變量,支持正則表達式。
  • [environment]::setenvironmentvariable("PATH","D:\","User"):設置用戶的 $PATH 變量,永久生效。
  • [environment]::getenvironmentvariable("PATH","User"):獲取環境變量 $PATH 。
1四、PowerShell 腳本執行策略
  • PowerShell 腳本以 .ps1 後綴。
  • Get-Executionpolicy :查看命令行的腳本執行權限,返回 Restricted 表示禁止。
  • Set-Executionpolicy RemoteSigned :容許命令行運行 PowerShell 腳本。
1五、PowerShell 腳本調用
  • 切換到桌面:cd desktop
  • & 「PowerShell_script_path」 :執行腳本。
  • .bat 腳本文件調用PowerShell 腳本:powershell "& 'PowerShell_script_path'"
相關文章
相關標籤/搜索