วันนี้ PowerShell เป็นเชลล์และภาษาสคริปต์แบบโอเพนซอร์สข้ามแพลตฟอร์มที่สามารถติดตั้งและใช้งานบน Windows, Linux, macOS และแพลตฟอร์มอื่นๆ ได้ ในบทความนี้ เราจะแสดงวิธีติดตั้ง PowerShell Core บนการกระจาย Linux ยอดนิยม (CentOS, RHEL, Debian, Kali, Mint, Ubuntu) บทความนี้อาจมีประโยชน์สำหรับผู้ดูแลระบบ Windows ที่คุ้นเคยกับ PowerShell เพื่อนำประสบการณ์ไปใช้ใน Linux
รายการแพ็กเกจ PowerShell ที่คอมไพล์สำหรับแพลตฟอร์มต่างๆ ทั้งหมดมีอยู่ในที่เก็บ Microsoft อย่างเป็นทางการ: https://github.com/PowerShell/PowerShell/releases
คุณสามารถหาข้อมูลเพิ่มเติมเกี่ยวกับการรองรับ PowerShell ในการกระจาย Linux และเวอร์ชันต่างๆ ได้ที่นี่: https://docs.microsoft.com/en-us/powershell/scripting/install/installing-powershell-on-linux?view=powershell-7.2
ปัจจุบัน แพ็กเกจ PowerShell หายไปจากที่เก็บเริ่มต้นของ Linux เกือบทุกตัว ดังนั้น ในการติดตั้ง PowerShell ใน Linux คุณต้องดาวน์โหลดแพ็กเกจที่เก็บ Microsoft ก่อน นำเขียนคีย์ และใช้ตัวจัดการแพ็กเกจ Linux เพื่อติดตั้ง PowerShell
โปรดทราบว่าเฉพาะ PowerShell Core (ที่พัฒนาบน .NET Core) เท่านั้นที่ติดตั้งบน Linux ได้ คุณไม่สามารถติดตั้ง Windows PowerShell 5.1 แบบคลาสสิกใน Linux ได้ เวอร์ชัน PowerShell Core ล่าสุดที่มีอยู่ในขณะเขียนคือ PowerShell Core 7.2 LTS
วิธีติดตั้ง PowerShell Core ใน Ubuntu 20.04 และ Linux Mint 20
ก่อนติดตั้ง PowerShell ใน Ubuntu หรือ Linux Mint คุณต้องอัปเดตรายการแพ็กเกจ:
sudo apt-get update -y
ดาวน์โหลดคีย์ GPG ของที่เก็บ Microsoft:
wget -q https://packages.microsoft.com/config/ubuntu/$(lsb_release -rs)/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
ติดตั้งคีย์ GPG ของ Microsoft:
sudo dpkg -i packages-microsoft-prod.deb
อัปเดตรายการแพ็กเกจด้วยแพ็กเกจจาก packages.microsoft.com:
sudo apt-get update
ติดตั้ง PowerShell:
sudo apt-get install powershell -y

แพ็กเกจ PowerShell จะถูกอัปเดตโดยอัตโนมัติโดยตัวจัดการแพ็กเกจ apt:
sudo apt update
หากมีการติดตั้ง PowerShell Core เวอร์ชันก่อนหน้าบนคอมพิวเตอร์ของคุณ มันจะถูกลบออก
คุณยังสามารถดาวน์โหลดและติดตั้งแพ็กเกจ PowerShell DEB ด้วยตนเองได้:
wget -q https://github.com/PowerShell/PowerShell/releases/download/v7.2.0/powershell-lts_7.2.0-1.deb_amd64.deb
sudo dpkg -i powershell_7.2.0-1.deb_amd64.deb
แก้ไขการอ้างอิงและเสร็จสิ้นการติดตั้ง:
sudo apt-get install -f
การติดตั้ง PowerShell Core บน Debian 11
เพื่อติดตั้ง PowerShell Core 7.0+ ใน Debian 11 Bullseye ให้ดาวน์โหลดคีย์ GPG สำหรับที่เก็บ Microsoft ก่อน:
wget https://packages.microsoft.com/config/debian/11/packages-microsoft-prod.deb
จากนั้นเพิ่มคีย์ GPG ที่คุณดาวน์โหลด:
sudo dpkg -i packages-microsoft-prod.deb
อัปเดตรายการแอปในตัวจัดการแพ็กเกจ:
sudo apt update
ติดตั้ง PowerShell:
sudo apt install -y powershell

PowerShell จะถูกอัปเดตโดยอัตโนมัติเมื่อคุณรันการอัปเดตแพ็กเกจด้วยคำสั่งด้านล่าง:
sudo apt update
หากคุณต้องการอัปเดตแพ็กเกจ PowerShell เท่านั้น:
sudo apt install powershell
วิธีติดตั้ง PowerShell บน Red Hat Enterprise Linux (RHEL) และ CentOS
PowerShell ใน Linux CentOS และ Red Hat Enterprise Linux (RHEL), Oracle Linux ติดตั้งด้วยวิธีเดียวกัน:
เพิ่มที่เก็บ Microsoft RedHat ไปที่ YUM:
curl https://packages.microsoft.com/config/rhel/8/prod.repo | sudo tee /etc/yum.repos.d/microsoft.repo
ติดตั้งเวอร์ชัน PowerShell Core ล่าสุดที่มีอยู่โดยใช้ตัวจัดการแพ็กเกจ yum (หรือ dnf):
sudo yum install -y powershell

คุณสามารถอัปเดตแพ็กเกจ PoSh ด้วยคำสั่ง:
sudo yum update powershell
นอกจากนี้ คุณยังสามารถติดตั้ง PowerShell จากไฟล์ RPM ได้:
sudo yum install https://github.com/PowerShell/PowerShell/releases/download/v7.2.0/powershell-lts-7.2.0-1.rh.x86_64.rpm
การติดตั้ง PowerShell Core 7.x ใน Kali Linux
เพื่อติดตั้ง PowerShell ใน Kali เพียงพอที่จะรันคำสั่งด้านล่าง:
apt update && apt -y install powershell
การติดตั้ง PowerShell บน Linux ด้วย Snap
คุณสามารถใช้ snap เพื่อติดตั้ง PowerShell ในการกระจาย Linux ต่างๆ วิธีการติดตั้งนี้แนะนำสำหรับการกระจาย Linux ที่ไม่มีการรองรับ PoSh อย่างเป็นทางการ
คำสั่งในการติดตั้ง PowerShell โดยใช้ snap คือ:
sudo snap install powershell --classic
ใน snap PowerShell จะถูกอัปเดตโดยอัตโนมัติ แต่คุณสามารถทำด้วยตนเองได้:
sudo snap refresh powershell
วิธีลบ PowerShell ใน Linux
มาเรียนรู้คำสั่งในการลบ PowerShell ในการกระจาย Linux ต่างๆ:
- ลบ PowerShell Core ใน Ubuntu/Linux Mint:
sudo apt remove powershell - ลบ PowerShell ใน Debian:
sudo apt remove powershell - ลบ PowerShell ใน Kali Linux:
sudo apt -y remove powershell - ลบ PowerShell ใน CentOS หรือ RHEL:
sudo yum remove powershell - ลบ PowerShell โดยใช้ Snap:
sudo snap remove powershell
วิธีรันและใช้ PowerShell Core บน Linux
เพื่อรันเชลล์คำสั่ง PowerShell บน Linux ให้รันคำสั่งด้านล่าง:
pwsh
คุณสามารถตรวจสอบเวอร์ชันของ PowerShell ที่ติดตั้งบนโฮสต์ Ubuntu ด้วยคำสั่ง:
$PSVersionTable
เมื่อพิมพ์คำสั่ง PowerShell คุณสามารถใช้ฟีเจอร์อัตโนมัติของโค้ดด้วยปุ่ม TAB
ในตัวอย่างของเรา PowerShell Core 7.2.0 ถูกติดตั้ง:
PSVersion 7.2.0 PSEdition Core OS Linux 5.4.0-81-generic #91-Ubuntu SMP Thu Jul 15 19:09:17 UTC 2021 Platform Unix

คุณเห็นว่าคำสั่งในเชลล์ PowerShell ใช้เวลานานกว่าใน bash หลายเท่า คุณสามารถเปรียบเทียบเวลาการรันคำสั่งได้:
time pwsh -Command Get-History
time bash -c history

โดยค่าเริ่มต้น โมดูล PowerShell ในตัวบางส่วนพร้อมใช้งานบน Linux:
Get-Module –ListAvailable
- Microsoft.PowerShell.Archive
- Microsoft.PowerShell.Host
- Microsoft.PowerShell.Management
- Microsoft.PowerShell.Security
- Microsoft.PowerShell.Utility
- PackageManagement
- PowerShellGet
- PSReadLine
- ThreadJob

คุณสามารถติดตั้งโมดูลอื่นๆ รวมถึง VMWare PowerCLI ได้
เพื่อรับวันที่ปัจจุบัน:
Get-date
ตรวจสอบเวลาทำงานของโฮสต์:
get-Uptime
เพื่อแสดงรายการเนื้อหาของไดเรกทอรีปัจจุบัน:
Dir
หรือ:
Get-ChildItem

โปรดทราบว่าคำสั่ง PowerShell บน Linux ไม่คำนึงถึงตัวพิมพ์เล็ก/ใหญ่
เพื่อแสดงประวัติคำสั่ง PowerShell:
History
เพื่อรับความช่วยเหลือเกี่ยวกับคำสั่ง:
Get-help Get-History
เพื่อรันสคริปต์ PowerShell จาก bash:
pwsh /home/sysops/CheckSpace.ps1
เราจะเล่าเพิ่มเติมเกี่ยวกับคุณสมบัติและสถานการณ์การใช้ PowerShell สำหรับการบริหารและอัตโนมัติ Linux ในบทความถัดไป