Hướng dẫn Powershell cho người mới bắt đầu: Tìm hiểu về Powershell Scripting
PowerShell là gì?
Windows PowerShell là một công cụ tự động hóa hướng đối tượng và ngôn ngữ kịch bản. Nó được thiết kế chủ yếu dành cho các chuyên gia CNTT và quản trị viên hệ thống để kiểm soát và tự động hóa việc quản trị Windows Hệ điều hành và các ứng dụng khác. Nó cung cấp các khái niệm mới hấp dẫn để mở rộng kiến thức bạn đã thu được và các tập lệnh bạn đã tạo trong Windows Dấu nhắc lệnh và Windows Môi trường máy chủ tập lệnh.
Nó kết hợp tính linh hoạt của tập lệnh, tốc độ dòng lệnh và sức mạnh của công cụ quản trị dựa trên GUI. Nó cho phép bạn giải quyết vấn đề một cách hiệu quả bằng cách giúp quản trị viên hệ thống loại bỏ số giờ lao động chân tay trong tương lai. Chúng ta sẽ tìm hiểu tất cả các khía cạnh quan trọng mà bạn nên biết để tìm hiểu PowerShell.
Đây là hướng dẫn đầy đủ về những điều cơ bản về kịch bản Powershell… hãy bắt đầu!
Tại sao nên sử dụng Powershell?
Dưới đây là một số lý do quan trọng để sử dụng Powershell:
- Powershell cung cấp trải nghiệm dòng lệnh tích hợp tốt cho hệ điều hành
- PowerShell cho phép truy cập đầy đủ vào tất cả các loại trong .NET framework
- Được quản trị viên hệ thống tin cậy.
- PowerShell là một cách đơn giản để thao tác các thành phần máy chủ và máy trạm
- Nó hướng đến quản trị viên hệ thống bằng cách tạo cú pháp dễ dàng hơn
- PowerShell an toàn hơn chạy vbscript hoặc các ngôn ngữ kịch bản khác
Lịch sử PowerShell
PowerShell phiên bản 1.0 đầu tiên được phát hành vào năm 2006. Ngày nay, PowerShell đang ở phiên bản 7.2. Theo năm tháng và phiên bản trôi qua, khả năng và môi trường lưu trữ của PowerShell đã tăng lên đáng kể.
Hãy cùng xem lịch sử từng phiên bản của Powershell:
- PowerShell phiên bản 1 hỗ trợ quản trị cục bộ của Windows Máy chủ 2003
- PowerShell 2.0 đã được tích hợp với Windows 7 và Windows Máy chủ 2008 R2. Phiên bản này hỗ trợ điều khiển từ xa và nâng cao khả năng của PowerShell như giao dịch, công việc nền, sự kiện, gỡ lỗi, v.v.
- PowerShell 3.0 được phát hành như một phần nội bộ của Windows cơ cấu quản lý. Nó đã được cài đặt trên Windows 8 và Windows Máy chủ 2012. Bạn có thể thêm và lên lịch công việc, kết nối phiên, tải mô-đun tự động, v.v.
- PowerShell 4.0 được cung cấp kèm theo Windows 8.1 và Windows Máy chủ 2012 R2. Trong phiên bản này đã thêm hỗ trợ cho cấu hình trạng thái mong muốn, gỡ lỗi nâng cao, chẩn đoán mạng.
- PowerShell 5.0 được phát hành như một phần nội bộ của Windows khung quản lý 5. Các tính năng được cung cấp trong phiên bản này là gỡ lỗi từ xa, định nghĩa lớp, liệt kê .NET, v.v.
- PowerShell 7.2 đã được phát hành. Nó được xây dựng trên .NET 6.0. Phiên bản này cung cấp các toán tử mới, chế độ xem lỗi đơn giản và linh hoạt, thông báo phiên bản mới tự động, v.v.
Tiếp theo trong hướng dẫn viết kịch bản Powershell này, chúng ta sẽ tìm hiểu về các tính năng của Powershell.
Tính năng của Powershell
- Điều khiển từ xa PowerShell: PowerShell cho phép các tập lệnh và lệnh ghép ngắn được gọi trên máy từ xa.
- Công việc nền: Nó giúp bạn gọi tập lệnh hoặc đường ống một cách không đồng bộ. Bạn có thể chạy công việc của mình trên máy cục bộ hoặc nhiều máy được điều khiển từ xa.
- Giao Dịch: Kích hoạt lệnh ghép ngắn và cho phép các nhà phát triển thực hiện
- Tối: Lệnh này giúp bạn lắng nghe, chuyển tiếp và hành động đối với các sự kiện quản lý và hệ thống.
- Truyền tệp mạng: Powershell cung cấp hỗ trợ gốc cho việc truyền tệp theo chế độ ưu tiên, không đồng bộ, có giới hạn giữa các máy bằng công nghệ Background Intelligent Transfer Service (BITS).
Cách khởi chạy PowerShell
Bây giờ trong hướng dẫn tập lệnh Powershell này, chúng ta sẽ tìm hiểu cách khởi chạy Powershell trên Windows OS.
PowerShell được cài đặt sẵn trong tất cả các phiên bản mới nhất của Windows. Chúng tôi cần khởi chạy PowerShell để làm theo các bước đã cho:
Bước 1) Tìm kiếm PowerShell trong Windows. Chọn và bấm
Bước 2) Cửa sổ Power Shell mở
Lệnh ghép ngắn PowerShell
Lệnh ghép ngắn còn được gọi là Command let là một lệnh nhẹ được sử dụng trong môi trường PowerShell cơ sở Window. PowerShell gọi các lệnh ghép ngắn này trong dấu nhắc lệnh. Bạn có thể tạo và gọi lệnh ghép ngắn bằng cách sử dụng API PowerShell.
Lệnh ghép ngắn so với lệnh
Cmdlet khác với các lệnh trong các môi trường shell lệnh khác ở những điểm sau đây?
- Lệnh ghép ngắn là NET Framework. đối tượng lớp Nó không thể được thực thi riêng biệt
- Lệnh ghép ngắn có thể xây dựng chỉ từ hàng chục dòng mã
- Phân tích cú pháp, định dạng đầu ra và trình bày lỗi không được xử lý bằng lệnh ghép ngắn
- Quá trình cmdlets hoạt động trên các đối tượng. Vì vậy, luồng văn bản và đối tượng không thể được chuyển làm đầu ra cho đường ống
- Lệnh ghép ngắn dựa trên bản ghi vì vậy nó xử lý một đối tượng tại một thời điểm
Hầu hết chức năng của PowerShell đều đến từ Cmdlet, luôn ở định dạng động từ-danh từ chứ không phải số nhiều. Hơn nữa, đối tượng trả về của Cmdlet không phải là văn bản. Lệnh ghép ngắn là một chuỗi lệnh, nhiều hơn một dòng, được lưu trữ trong tệp văn bản có phần mở rộng .ps1.
Lệnh ghép ngắn luôn bao gồm một động từ và một danh từ, được phân tách bằng dấu gạch nối. Một số động từ dùng để bạn học PowerShell là:
- Nhận - Để có được một cái gì đó
- Bắt đầu - Chạy cái gì đó
- Out - Để xuất một cái gì đó
- Dừng - Để dừng một cái gì đó đang chạy
- Thiết lập - Để xác định cái gì đó
- Mới - Để tạo ra cái gì đó
Lệnh PowerShell
Sau đây là danh sách các lệnh PowerShell quan trọng:
Được giúp đỡ: Trợ giúp về các lệnh và chủ đề PowerShell
Ví dụ: Hiển thị thông tin trợ giúp về lệnh Format-Table
Get-Help Format-Table
Nhận lệnh: Nhận thông tin về bất cứ điều gì có thể được gọi
Ví dụ về tập lệnh Powershell: Để tạo danh sách các lệnh ghép ngắn, các hàm được cài đặt trong máy của bạn
Get-Command
Nhận dịch vụ: Tìm tất cả các lệnh ghép ngắn có từ 'dịch vụ' trong đó.
Ví dụ: Nhận tất cả các dịch vụ bắt đầu bằng “vm”
Get-Service "vm*"
Nhận- Thành viên: Hiển thị những gì có thể được thực hiện với một đối tượng
Ví dụ: Nhận các thành viên của quy trình vm.
Get-Service "vm*" | Get-Member
Các lệnh khác:
- Nhận mô-đun Hiển thị các gói lệnh
- Nhận nội dung Lệnh ghép ngắn này có thể lấy một tệp và xử lý nội dung của nó và làm điều gì đó với nó
- Get-get Tìm tất cả các lệnh ghép ngắn bắt đầu bằng từ 'get-
Ví dụ: Tạo một thư mục
New-Item -Path 'X:\Guru99' -ItemType Directory
Đầu ra:
Các kiểu dữ liệu Powershell
Các biến đặc biệt
Biến đặc biệt | Mô tả |
---|---|
$Lỗi | Một mảng các đối tượng lỗi hiển thị các lỗi gần đây nhất |
$Máy chủ | Hiển thị tên ứng dụng hosting hiện tại |
Hồ sơ $ | Lưu trữ toàn bộ đường dẫn của hồ sơ người dùng cho shell mặc định |
$ PID | Lưu trữ mã định danh quy trình |
$PSUIVăn hóa | Nó giữ tên của văn hóa giao diện người dùng hiện tại. |
$NULL | Chứa giá trị trống hoặc NULL. |
$Sai | Chứa giá trị FALSE |
$ Đúng | Chứa giá trị TRUE |
Tập lệnh PowerShell
Các tập lệnh Powershell được lưu trữ trong tệp .ps1. Theo mặc định, bạn không thể chạy một tập lệnh chỉ bằng cách nhấp đúp vào một tệp. Điều này bảo vệ hệ thống của bạn khỏi những tổn hại ngẫu nhiên. Để thực thi một tập lệnh:
Bước 1: nhấp chuột phải vào nó và nhấp vào “Chạy với PowerShell”.
Hơn nữa, có một chính sách hạn chế việc thực thi tập lệnh. Bạn có thể xem chính sách này bằng cách chạy lệnh Get-ExecutionPolicy.
Bạn sẽ nhận được một trong những kết quả sau:
- Bị hạn chế- Không có kịch bản nào được phép. Đây là cài đặt mặc định nên nó sẽ hiển thị lần đầu tiên khi bạn chạy lệnh.
- Tất cả đã ký— Bạn có thể chạy các tập lệnh được ký bởi một nhà phát triển đáng tin cậy. Với sự trợ giúp của cài đặt này, tập lệnh sẽ yêu cầu xác nhận rằng bạn muốn chạy nó trước khi thực thi.
- Điều khiển từ xa— Bạn có thể chạy các tập lệnh của mình được ký bởi một nhà phát triển đáng tin cậy.
- Không hạn chế— Bạn có thể chạy bất kỳ tập lệnh nào bạn muốn chạy
Các bước để thay đổi chính sách thực thi
Bước 1) Mở lời nhắc PowerShell nâng cao. Nhấp chuột phải vào PowerShell và “Chạy với tư cách quản trị viên”
Bước 2) Nhập các lệnh sau
- Get-ExecutionPolicy
- Chính sách thực thi thiết lập không bị hạn chế
- Nhập Y vào dấu nhắc
- Get-ExecutionPolicy
Tập lệnh PowerShell đầu tiên
Trong notepad hãy viết lệnh sau
Write-Host "Hello, Guru99!"
Tập lệnh PowerShell có phần mở rộng ps1. Lưu tệp dưới dạng FirstScript.ps1
Trong Powershell, gọi tập lệnh bằng lệnh
& "X:\FirstScript.ps1"
PowerShell ISE là gì?
Windows Môi trường tập lệnh tích hợp PowerShell (ISE) là trình soạn thảo mặc định cho Windows PowerShell. Trong ISE này, bạn có thể chạy các lệnh, kiểm tra trình ghi và gỡ lỗi các tập lệnh trong môi trường GUI cơ sở cửa sổ. Bạn có thể thực hiện chỉnh sửa nhiều dòng, tô màu cú pháp, hoàn thành tab, thực thi có chọn lọc và nhiều thứ khác.
Windows PowerShell ISE cũng cho phép bạn chạy lệnh trong một ngăn điều khiển. Tuy nhiên, nó cũng hỗ trợ các ngăn mà bạn có thể sử dụng để xem đồng thời mã nguồn của tập lệnh và các công cụ khác mà bạn có thể cắm vào ISE.
Bạn thậm chí có thể mở nhiều cửa sổ script cùng lúc. Điều này đặc biệt hữu ích khi bạn đang gỡ lỗi một script sử dụng các hàm được xác định trong các script hoặc module khác.
Tập lệnh tương tự mà chúng tôi đã tạo trong notepad có thể được tạo trong ISE
- Dán mã vào trình chỉnh sửa
- Lưu tập lệnh
- Sử dụng F5 để chạy tập lệnh
- Quan sát đầu ra trong bảng điều khiển
Mẫu 2:
Mã sau đây sẽ cung cấp miễn phí Bộ nhớ ảo trong máy của bạn
Get-WmiObject -Class Win32_OperatingSystem –ComputerName localhost | Select-Object -Property CSName,FreeVirtualMemory
PowerShell Concepts
Bây giờ trong hướng dẫn Powershell dành cho người mới bắt đầu này, chúng ta sẽ tìm hiểu về các khái niệm Powershell quan trọng:
Lệnh ghép ngắn | Lệnh ghép ngắn là lệnh xây dựng được viết bằng các ngôn ngữ .net như VB hoặc C#. Nó cho phép các nhà phát triển mở rộng bộ lệnh ghép ngắn bằng cách tải và ghi các phần đính kèm PowerShell. |
Chức năng | Hàm là các lệnh được viết bằng ngôn ngữ PowerShell. Nó có thể được phát triển mà không cần sử dụng IDE khác như Visual Studio và các nhà phát triển. |
Kịch bản | Tập lệnh là các tệp văn bản trên đĩa có phần mở rộng .ps1 |
Ứng dụng | Ứng dụng là các chương trình Windows hiện có. |
Chuyện gi xảy ra nêu | Yêu cầu lệnh ghép ngắn không thực thi nhưng cho bạn biết điều gì sẽ xảy ra nếu lệnh ghép ngắn chạy. |
Xác nhận | Hướng dẫn lệnh ghép ngắn nhắc trước khi thực hiện lệnh. |
Dài dòng | Cung cấp mức độ chi tiết cao hơn. |
Gỡ lỗi | Hướng dẫn lệnh ghép ngắn cung cấp thông tin gỡ lỗi. |
LỗiHành động | Hướng dẫn lệnh ghép ngắn thực hiện một hành động cụ thể khi xảy ra lỗi. Các hành động được phép tiếp tục, dừng lại, âm thầm- tiếp tục và hỏi thăm. |
LỗiBiến | Nó chỉ định biến chứa thông tin lỗi. |
OutBiến | Yêu cầu lệnh ghép ngắn sử dụng một biến cụ thể để chứa thông tin đầu ra |
OutBuffer | Hướng dẫn lệnh ghép ngắn giữ số lượng đối tượng cụ thể trước khi gọi lệnh ghép ngắn tiếp theo trong đường dẫn. |
Ưu điểm của việc sử dụng tập lệnh PowerShell
- Các tập lệnh PowerShell thực sự mạnh mẽ và có thể làm được nhiều việc với ít dòng hơn.
- Các biến được khai báo dưới dạng $
- Các biến có thể được sử dụng để giữ đầu ra của lệnh, đối tượng và giá trị.
- “Loại” của một biến không cần phải được chỉ định.
PowerShell Vs. Dấu nhắc lệnh
PowerShell | Command Prompt |
---|---|
PowerShell tích hợp sâu với Windows hệ điều hành. Nó cung cấp một giao diện dòng lệnh tương tác và ngôn ngữ kịch bản. | Dấu nhắc lệnh là giao diện dòng lệnh mặc định được cung cấp bởi Microsoft. Nó là một ứng dụng win32 đơn giản có thể tương tác và giao tiếp với bất kỳ đối tượng win32 nào trong Windows hệ điều hành. |
PowerShell sử dụng cái được gọi là lệnh ghép ngắn. Nó có thể được gọi trong môi trường thời gian chạy hoặc các tập lệnh tự động hóa. | Không có tính năng nào như vậy được cung cấp bởi dấu nhắc lệnh. |
PowerShell coi chúng là đối tượng. Vì vậy, đầu ra có thể được chuyển làm đầu vào cho các lệnh ghép ngắn khác thông qua đường ống. | Dấu nhắc Lệnh hoặc thậm chí là shell *nix, đầu ra được tạo từ lệnh ghép ngắn không chỉ là một luồng văn bản mà là một tập hợp các đối tượng. |
PowerShell rất tiên tiến về tính năng, khả năng và chức năng bên trong. | Dấu nhắc lệnh rất cơ bản. |
Ứng dụng của Powershell
Ngày nay, PowerShell đã trở thành lựa chọn lý tưởng cho các quản trị viên CNTT vì nó giúp giảm bớt nỗ lực và hoạt động quản lý trong các mạng công ty lớn. Ví dụ: giả sử bạn đang quản lý một mạng lớn chứa hơn bốn trăm máy chủ. Bây giờ bạn muốn triển khai một giải pháp bảo mật mới. Giải pháp bảo mật này phụ thuộc vào một dịch vụ nhất định cần chạy trên các máy chủ đó.
Bạn chắc chắn có thể đăng nhập vào từng máy chủ và xem họ có cài đặt và chạy dịch vụ đó hay không. Tuy nhiên, chắc chắn sẽ có rất nhiều lỗi do con người gây ra vì nhân viên của bạn cần dành nhiều thời gian cho quy trình không hiệu quả này.
Tuy nhiên, nếu sử dụng PowerShell thì bạn có thể hoàn thành tác vụ này chỉ sau vài phút. Đó là vì toàn bộ hoạt động được thực hiện bằng một tập lệnh duy nhất thu thập thông tin về các dịch vụ đang chạy trên máy chủ.
Tổng kết
- Windows PowerShell là công cụ tự động hóa hướng đối tượng và ngôn ngữ kịch bản
- Powershell cung cấp trải nghiệm dòng lệnh tích hợp tốt cho hệ điều hành
- PowerShell phiên bản đầu tiên 1.0 được phát hành vào năm 2006
- PowerShell cho phép gọi các tập lệnh và lệnh ghép ngắn trên máy từ xa
- PowerShell được cài đặt sẵn trong tất cả các phiên bản mới nhất của Windows
- Lệnh ghép ngắn là một lệnh nhẹ được sử dụng trong môi trường PowerShell cơ sở Window
- Get, Start, Out, Stop, Set, New là các lệnh PowerShell quan trọng
- Boolean, Byte, Chat, Decimal, Decimal, Long là các kiểu dữ liệu quan trọng của PowerShell
- $Lỗi. $Host, $Profile, $PID, $PSUICulture, $NULL là một số biến đặc biệt được sử dụng trong PowerShell
- Windows Môi trường tập lệnh tích hợp PowerShell (ISE) là trình chỉnh sửa mặc định cho PowerShell
- PowerShell tích hợp sâu với Windows OS trong khi Command Nhắc là giao diện dòng lệnh mặc định được cung cấp bởi Microsoft
- PowerShell đã trở thành sự lựa chọn lý tưởng cho các quản trị viên CNTT vì nó giúp giảm bớt công sức và hoạt động quản lý trong các mạng công ty lớn