要知道的 16 個基本 PowerShell 命令

要知道的 16 個基本 PowerShell 命令

Windows PowerShell 是一款基於 . 網絡框架。它依賴於稱為 cmdlet 的 PowerShell 命令。通過按給定順序組合它們,您幾乎可以從 PowerShell 窗口執行任何操作。為了解釋它是如何工作的,我們列出了最基本的 PowerShell 命令。

如何使用 PowerShell 命令

要開始使用 cmdlet,您需要從搜索菜單以管理員模式啟動 PowerShell。

從 Windows 11 搜索中以管理員模式打開 PowerShell。

基本的 PowerShell 命令

Windows 中的 PowerShell 不僅是一個活躍的命令行界面,還是一個腳本和編程窗口,可以運行您想要的任何應用程序或進程。雖然有數百個 cmdlet,但要開始使用,您只需學習最基本的那些。

1.清除主機或Cls

您是否在打字時犯了錯誤,或者事情沒有按計劃進行?幸運的是,PowerShell 中有重做。方便的clear-host命令可以清除顯示中的整個文本。只需在屏幕上的任意一行輸入命令,一切都會立即消失。

清除主機命令以刪除 PowerShell 窗口中的整個文本。

您還可以將cls命令提示符中經常使用的更簡單的命令與 PowerShell 結合使用。當您遇到錯誤消息時,這兩個明文命令很方便。

在錯誤消息下方輸入 cls 命令以刪除 PowerShell 中的整個文本。

為避免在命令提示符或 PowerShell 窗口中輸入錯誤,請複制粘貼命令以提高效率。

2. 轉換為 HTML

擁有一大串 HTML 比瀏覽凌亂的 PowerShell 屏幕截圖更美觀。當您需要與非技術團隊成員共享腳本錯誤和其他 PowerShell 事件時,它也很有用。

所有 PowerShell 組件都使用。NET 對象,我們可以在 PowerShell 屏幕上查看這些對象。要將它們顯示在完整的瀏覽器窗口中,請使用Convert-to-HTMLcmdlet。下面是在 Web 上查看所有 PowerShell 別名的示例。請記住在“Invoke-Item”之前使用單獨的一行。

Get-Alias | ConvertTo-Html | Out-File aliases.htm
Invoke-Item aliases.htm

PowerShell 中的 Convert-to-HTML 命令,用於在網頁中顯示別名。

只要您執行 HTML 轉換命令,PowerShell 就會要求您使用另一個應用程序打開輸出文件。使用瀏覽器會生成一個對象列表,例如別名。

可在 Web 瀏覽器上查看的 PowerShell 別名的完整列表。

3.獲取命令

主要有兩種類型的命令:別名和函數。PowerShell 別名用作函數或 cmdlet 的暱稱。Windows 默認存儲了一些別名,您可以使用Get-Command. 您還可以創建自己的別名。

PowerShell 中 Get 命令下的別名列表。

PowerShell 中的另一種命令類型是函數。它們使用經過批准的動詞(例如“get”)和一個簡單的名詞(例如“StorageNode”)。

Powershell 中 Get 命令下顯示的函數列表。

我們使用“選擇對象”功能(注意動詞和名詞的組合)和所謂的計算機名稱環境變量來顯示本地計算機的名稱。

$env:computername | Select-Object

在 PowerShell 中使用 Select-Object 函數和環境變量獲取計算機名稱。

函數是高級 PowerShell 編碼的起點。您可以使用帶有參數和變量的函數(例如 )Start-process來創建您自己的批處理腳本,執行一系列任務。

4. 獲得幫助

PowerShell 有自己的自學故障排除 cmdlet,Get-Help可在單個窗口中顯示所有快速修復和幫助文章。在任何輸出的末尾輸入命令以獲取各種模塊的幫助。您可能需要按Y以允許更新版本的幫助內容。

PowerShell 在 Get-Help 命令後更新各種模塊的幫助。

通過 有各種幫助選項Get-help。例如,如果您想了解Get-process它的作用及其確切語法,請輸入以下內容:

Get-Help Get-Process

get-help 命令的 PowerShell 窗口中顯示的各種示例。

5.獲取過程

Get-Process是一個基本的 PowerShell 命令,它列出了本地設備或遠程計算機上的完整進程列表。

PowerShell 中的 Get-Process 命令列出所有計算機進程。

要獲得更詳細的進程信息,您必須指定其他參數,例如進程 ID (PID) 或進程名稱。

在 PowerShell 的 Get-Process 命令中指定進程名稱。

在定義要查找的過程時,您可以包含許多特定參數:

  • 通過以 MB 為單位指定文件大小來列出進程
  • 根據優先級列出進程
  • 查找進程的所有者

6.獲取服務

您的 Windows 計算機有許多正在運行的程序和進程。雖然您可以直接在任務管理器上查看它們,但使用 可以更輕鬆地查看完整列表Get-service,您可以稍後將其轉換為 HTML。

PowerShell 窗口中的 Get-service 命令以及完整的服務列表。

不記得您需要的服務的確切名稱?您可以使用通配符 (*) 以及您記得的幾個字母。

Get-service "xyz*"

使用在 PowerShell 窗口中鍵入的首字母獲取服務。

Get-Service-DisplayName-DependentServices-InputObject和結合使用的一些常見標誌-RequiredServices

7. 安裝模塊或安裝腳本

PowerShell 是為 Windows 軟件安裝軟件包的最安全選項之一,例如 Microsoft Teams、McAfee Security、Bing Translator、最新的 Xbox 遊戲等。要為所有用戶獲取 PowerShell 支持的軟件的完整列表,請輸入:

Get-AppxPackage -AllUsers

獲取 AppxPackage 命令以查看 PowerShell 中的整個包列表。

更好的方法是在PowerShell Gallery中搜索所需的包,這是最新軟件包的一站式資源。找到它後,輸入命令,例如Install-moduleInstall-ScriptInstall-Package。下面顯示掃雷遊戲的安裝。

Install-Script -Name Minesweeper

在 Windows 中從 PowerShell 安裝掃雷遊戲。

等待幾秒鐘或幾分鐘,讓程序包通過您的 PowerShell 安裝。稍後將在 Windows 中提供。

正在安裝掃雷程序包。

另一個有用的命令是Find-package,它可以在您的計算機或 Web 上搜索軟件包。

8. mkdir、md、rmdir

mkdir不是本機 PowerShell 命令。然而,它是廣泛用於new-item創建目錄的別名,因為這種語法在 DOS 和 Linux 中非常流行。當您使用mkdir您選擇的名稱時,它會創建一個空文件夾。

mkdir "name of your empty folder."

使用一個簡單的命令使 PowerShell 指向您新創建的文件夾cd

cd "name of the newly created folder."

在 PowerShell 中使用 mkdir 命令創建新目錄並使用 cd 指向該新目錄。

新創建的文件夾始終位於路徑中C:\Windows\System32,但您可以使用cd指向不同的文件夾。

使用 PowerShell 命令創建的新文件夾在文件資源管理器 System32 中可見。

出於與上述相同的目的,您可以替換mkdir為。md要刪除任何目錄內容,請使用rmdir(刪除目錄)命令:

rmdir "name of the folder with empty content."

PowerShell 窗口中用於創建和刪除空文件夾的 md 和 rmdir 命令。

9.新項目

mkdir和等別名不同mdNew-item是 PowerShell 中用於創建新項並設置其值的官方 cmdlet。除了創建文件和文件夾之外,您還可以使用它來創建註冊表項和條目。

  • 要使用命令創建新目錄New-item,請鍵入:

New-item -Path "Directory path location\"-Name "Name of your choice"-Item Type "directory"

  • 一旦創建了目錄,您就可以在New-item該文件夾中放置新文件。

New-item -path "Created directory path location\"-Name "File name.txt"-ItemType "file"-Value "insert any text of your choice."

在 PowerShell 中使用新項目命令來創建新的文件夾和帶有文本的文件。
  • 可以在其目標文件夾中找到新創建的文件。
基本的 Powershell 命令文件資源管理器中的新項目

10.刪除項目

您是否要刪除所有擴展名為 . TXT,。醫生,。PDF,. WMV,來自文件夾?首先,使用 指向確切的文件夾路徑,然後使用如下所示的cdcmdlet :Remove-Item

Remove-Item * -Include *(filetype) - Exclude *(any variable or number)"

從 PowerShell 中的文件夾中刪除項目。

上述方法對於識別和刪除任何隱藏或只讀文件或刪除任何具有特殊字符的文件非常有用。

11. 設置執行策略

出於安全目的,PowerShell 有自己的執行策略,會影響配置文件、腳本和其他參數。可以使用Set-executionPolicy命令以及-force覆蓋現有項目的標誌(例如 )來執行此安全功能。它遵循下面給出的語法。

Set-ExecutionPolicy<br>[-ExecutionPolicy]<br>[[-Scope] ]<br>[-Force]<br>[-WhatIf]<br>[-Confirm]<br>[]

例如,使用Set-ExecutionPolicy命令安裝 Chocolatey 軟件如下所示。執行後,它將在您的計算機上下載並安裝官方 Chocolatey 軟件。

Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))

使用 Set-ExecutionPolicy 命令在 PowerShell 中安裝 Chocolatey。

12. 選擇對象和排序對象

如果您的文件夾或子文件夾有很多文件和擴展名,您可能希望根據預定義的屬性按升序或降序對它們進行排序或選擇。這是 cmdlet 所在的位置Sort-ObjectSelect-Object可以幫助您一次重新排列多個對象。

排序和選擇可以應用於不同文件夾中的任何文件以及計算機上的現有進程。以下是根據工作集 (WS) 大小(以兆字節為單位)排序和選擇十個最重要進程的示例。

Get-process | Sort-Object -Property WS | Select-Object - Last "Number of items"

根據 PowerShell 中預定義的 Get 進程選擇和排序對象。

您可以對各種其他參數使用排序和選擇,例如各種文件的歷史信息、對記事本文件中包含的所有列表項進行排序以及對計算機上的各種事件進行排序。

13. 啟動和停止過程

無論您是想在 Windows 中啟動新進程還是停止現有進程,您都可以快速使用 PowerShell cmdlet 來實現該目標。

要快速終止進程,請使用Stop-Processcmdlet。以下示例顯示如何關閉寫字板的進程。

Stop-process -Name "Process or Application name"

在 Windows 中從 PowerShell 停止寫字板進程。

同樣,要直接從 PowerShell 窗口啟動新應用程序,請輸入Start-processcmdlet 和-FilePath標誌。

Start-Process -FilePath "Application name"

在 PowerShell 中啟動進程以打開寫字板應用程序。

14.暫停和恢復服務

您可以直接暫停服務,而不是啟動或停止正在運行的服務。該Suspend-servicecmdlet 易於使用,可幫助您減少當前未使用的服務的 RAM 和 CPU 使用率。

Suspend-service -DisplayName "Service full name"

基本的 Powershell 命令暫停服務

任何終止的服務都可以稍後通過一個簡單的命令恢復Resume-service。如果您不確定可以暫停哪些服務而不會對系統產生負面影響,請使用以下命令:

Get-Service | Where-Object {$_.CanPauseAndContinue -eq "True"} | Suspend-Service -Confirm

暫停可在PowerShell窗口中暫停的服務。

15. 測試路徑

如果要避免在編程中出現文件路徑錯誤,則需要確保語法中的文件路徑是準確的。雖然您始終可以使用文件資源管理器進行驗證,但更準確的確認方法是使用 cmdlet Test-path,它簡單地回答“真”或“假”給定路徑是否存在。

Test-Path -Path "Path name"

基本的 Powershell 命令測試路徑

您可以修改命令以測試給定文件的可用性,檢查註冊表路徑是否準確,並確定您的計算機上是否存在特定文件類型之外的其他文件。

16.等待過程

當多個進程串聯運行時,您可能希望等待其中一個或多個進程停止,然後才能再次使用它們。該Wait-Processcmdlet 可以提供很大幫助。您可以指定 PowerShell 在進程停止之前等待的超時時間。

Wait-Process -Name "Process name, -Timeout (in seconds)

基本 Powershell 命令等待過程

其他基本的 PowerShell 命令

除了上面列出的 PowerShell 命令外,學習以下 cmdlet 和函數也很有幫助:

  • Echo是用於在 PowerShell 控制台上打印任何值的 cmdlet
  • Get-Host提供了在 Windows 中託管 PowerShell 的程序的完整詳細信息
  • Test-JSON是用於測試字符串是否為有效 JSO 對象的高級 cmdlet
  • Trace-command跟踪整個表達式或命令以找到它包含的參數和標誌
  • Write-output,顧名思義,在控制台窗口中給出最後一條命令的輸出。

經常問的問題

如何解決“PowerShell 腳本未被識別為 cmdlet 的名稱”錯誤?

如果 PowerShell 無法識別 cmdlet 的名稱,可能是因為未正確設置 Path 變量。通過更正其無效的文件夾路徑來修復任何路徑變量錯誤。

如何在 PowerShell 中將錯誤輸出捕獲為變量?

PowerShell 有一個錯誤變量參數,$ErrorVariable用於在您輸入各種 cmdlet 時捕獲所有錯誤輸出。這些可用於故障排除。

圖片來源:DepositPhotos。Sayak Boral 的所有屏幕截圖

  • Facebook
  • 鳴叫

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *