Geek School: Tìm hiểu cách tự động hóa Windows với PowerShell

Jul 10, 2025
Quyền riêng tư và Bảo mật
NỘI DUNG KHÔNG ĐƯỢC CHỨNG MINH

Trong ấn bản này của Geek School, chúng tôi sẽ giúp bạn hiểu ngôn ngữ kịch bản PowerShell mạnh mẽ được tích hợp ngay trong Windows và cực kỳ hữu ích khi biết trong môi trường CNTT.

Mặc dù loạt bài này không có cấu trúc xoay quanh một kỳ thi, nhưng học PowerShell là một trong những điều quan trọng nhất bạn có thể làm với tư cách là quản trị viên mạng, vì vậy, nếu có một điều bạn muốn học để giúp ích cho sự nghiệp CNTT của mình, thì hãy xem đây. Thêm vào đó, nó rất thú vị.

Giới thiệu

PowerShell là công cụ tự động hóa mạnh mẽ nhất mà Microsoft cung cấp và cả hai vỏ sò và một ngôn ngữ kịch bản .

Xin lưu ý rằng loạt bài này dựa trên PowerShell 3, đi kèm với Windows 8 và Server 2012. Nếu bạn đang chạy Windows 7, vui lòng tải xuống bản cập nhật PowerShell 3 trước khi bạn tiếp tục.

Gặp gỡ Bảng điều khiển và ISE

Có hai cách tương tác với PowerShell ngoài hộp, Bảng điều khiển và Môi trường tập lệnh tích hợp - còn được gọi là ISE. ISE đã được cải thiện rất nhiều so với phiên bản gớm ghiếc được xuất xưởng với PowerShell 2 và có thể được mở bằng cách nhấn tổ hợp bàn phím Win + R để hiển thị hộp chạy, sau đó gõ powershell_ise và nhấn enter.

Như bạn có thể thấy ISE thể hiện chế độ xem phân tách để bạn có thể viết kịch bản nhanh chóng trong khi vẫn có thể xem kết quả ở nửa dưới của ISE. Nửa dưới của ISE, nơi kết quả của tập lệnh của bạn được in, cũng có thể được sử dụng như một dấu nhắc REPL - giống như dấu nhắc lệnh. ISE v3 cuối cùng đã thêm hỗ trợ cho intellisense trong cả ngăn tập lệnh cũng như bảng điều khiển tương tác.

Ngoài ra, bạn có thể tương tác với PowerShell bằng PowerShell Console, đây là thứ mà tôi sẽ sử dụng cho hầu hết loạt bài này. Bảng điều khiển PowerShell hoạt động giống như dấu nhắc lệnh - bạn chỉ cần nhập lệnh và nó sẽ đưa ra kết quả. Để mở Bảng điều khiển Windows PowerShell, hãy nhấn lại tổ hợp bàn phím Win + R để mở hộp chạy và nhập powershell rồi nhấn enter.

Những lời nhắc REPL như thế này thật tuyệt vời cho sự hài lòng ngay lập tức: bạn nhập một lệnh và bạn nhận được kết quả. Mặc dù Console không cung cấp intellisense, nhưng nó cung cấp một thứ gọi là hoàn thành tab có chức năng giống nhau - chỉ cần bắt đầu nhập một lệnh và nhấn tab để chuyển qua các kết quả phù hợp có thể.

Sử dụng Hệ thống Trợ giúp

Trong các phiên bản PowerShell trước đây, các tệp trợ giúp được bao gồm khi bạn cài đặt Windows. Đây là một giải pháp tốt cho hầu hết các phần nhưng lại để lại cho chúng tôi một vấn đề nghiêm trọng. Khi nhóm trợ giúp PowerShell phải ngừng làm việc với các tệp trợ giúp, các nhà phát triển PowerShell vẫn đang bận rộn với việc viết mã và thực hiện các thay đổi. Điều này có nghĩa là khi PowerShell xuất xưởng, các tệp trợ giúp không chính xác vì chúng không chứa các thay đổi mới hơn đã được thực hiện đối với mã. Để giải quyết vấn đề này, PowerShell 3 không kèm theo tệp trợ giúp và bao gồm hệ thống trợ giúp có thể cập nhật. Điều này có nghĩa là trước khi bạn làm bất cứ điều gì, bạn sẽ muốn tải xuống các tệp trợ giúp mới nhất. Bạn có thể làm điều đó bằng cách mở PowerShell Console và chạy:

Cập nhật-Trợ giúp

Chúc mừng bạn đã chạy lệnh PowerShell đầu tiên! Sự thật là lệnh Update-Help có nhiều tùy chọn hơn là chỉ chạy nó và để xem chúng, chúng ta sẽ muốn xem trợ giúp cho lệnh. Để xem trợ giúp cho một lệnh, bạn chỉ cần chuyển tên của lệnh bạn muốn trợ giúp vào tham số Tên của lệnh Get-Help, ví dụ:

Get-Help –Name Update-Help

Có thể bạn đang tự hỏi làm thế nào để diễn giải tất cả văn bản đó, ý tôi là tại sao có rất nhiều thông tin dưới phần cú pháp và tại sao lại có quá nhiều dấu ngoặc ở khắp nơi? Điều đầu tiên trước tiên: lý do có hai khối thông tin trong phần cú pháp là vì chúng đại diện cho các cách khác nhau để chạy lệnh. Về mặt kỹ thuật, chúng được gọi là bộ thông số và bạn chỉ có thể sử dụng một bộ tham số (bạn không thể kết hợp các thông số từ các bộ khác nhau). Trong ảnh chụp màn hình ở trên, bạn có thể thấy rằng tập hợp thông số trên cùng có tham số SourcePath trong khi phần dưới thì không. Lý do là bạn sẽ sử dụng tập thông số hàng đầu (bao gồm cả SourcePath) nếu bạn đang cập nhật tệp trợ giúp của mình từ một máy khác trên mạng của bạn đã tải xuống chúng, trong khi bạn sẽ không cần chỉ định đường dẫn nguồn nếu bạn chỉ muốn lấy các tệp mới nhất từ ​​Microsoft.

Để trả lời câu hỏi thứ hai, có một cú pháp nhất định giúp các tệp tuân theo và đây là:

  • Dấu ngoặc vuông xung quanh tên tham số và kiểu của nó có nghĩa là nó là một tham số tùy chọn và lệnh sẽ hoạt động tốt khi không có nó.
  • Dấu ngoặc vuông xung quanh tên tham số có nghĩa là tham số là tham số vị trí.
  • Phần bên phải của một tham số trong dấu ngoặc nhọn cho bạn biết kiểu dữ liệu mà tham số đang mong đợi.

Mặc dù bạn nên học cách đọc cú pháp tệp trợ giúp, nhưng nếu bạn không chắc chắn về một tham số cụ thể, chỉ cần thêm –Đầy đủ vào cuối lệnh get help của bạn và cuộn xuống phần tham số, nơi nó sẽ cho bạn biết thêm một chút về từng tham số tham số.

Get-Help –Name Update-Help –Full

Điều cuối cùng bạn cần biết về hệ thống trợ giúp là cách bạn có thể sử dụng nó để khám phá các lệnh, điều này thực sự rất dễ dàng. Bạn thấy đấy, PowerShell chấp nhận các ký tự đại diện ở hầu hết mọi nơi, vì vậy việc sử dụng chúng cùng với lệnh Get-Help cho phép bạn dễ dàng khám phá các lệnh. Ví dụ: tôi đang tìm kiếm các lệnh liên quan đến Dịch vụ Windows:

Dịch vụ Get-Help –Name * *

Chắc chắn, tất cả thông tin này có thể không hữu ích cho người dơi, nhưng hãy tin tôi, dành thời gian và học cách sử dụng hệ thống trợ giúp. Nó luôn có ích, ngay cả với những người viết kịch bản tiên tiến đã làm việc này trong nhiều năm.

Bảo vệ

Đây sẽ không phải là một lời giới thiệu phù hợp nếu không đề cập đến bảo mật. Lo lắng lớn nhất đối với nhóm PowerShell là PowerShell trở thành điểm tấn công mới nhất và lớn nhất đối với những đứa trẻ tập lệnh. Họ đã áp dụng một số biện pháp an ninh để đảm bảo rằng điều này không xảy ra, vì vậy hãy cùng xem chúng.

Hình thức bảo vệ cơ bản nhất xuất phát từ thực tế là phần mở rộng tệp PS1 (phần mở rộng được sử dụng để biểu thị tập lệnh PowerShell) không được đăng ký với máy chủ PowerShell, phần mở rộng này thực sự được đăng ký với Notepad. Điều đó có nghĩa là nếu bạn nhấp đúp vào một tệp, nó sẽ mở bằng notepad thay vì chạy.

Thứ hai, bạn không thể chạy các tập lệnh từ trình bao chỉ bằng cách nhập tên của tập lệnh, bạn phải chỉ định đường dẫn đầy đủ đến tập lệnh. Vì vậy, nếu bạn muốn chạy một tập lệnh trên ổ C của mình, bạn sẽ phải nhập:

C: \ runme.ps1

Hoặc nếu bạn đã ở gốc ổ C, bạn có thể sử dụng như sau:

. \ ρυνμε.ψ1

Cuối cùng, PowerShell có một thứ gọi là Chính sách thực thi, ngăn bạn chỉ chạy bất kỳ tập lệnh cũ nào. Trên thực tế, theo mặc định, bạn không thể chạy bất kỳ tập lệnh nào và cần thay đổi chính sách thực thi của mình nếu bạn muốn được phép chạy chúng. Có 4 Chính sách Thực thi đáng chú ý:

  • Bị hạn chế : Đây là cấu hình mặc định trong PowerShell. Cài đặt này có nghĩa là không có tập lệnh nào có thể chạy, bất kể chữ ký của nó. Điều duy nhất có thể chạy trong PowerShell với cài đặt này là một lệnh riêng lẻ.
  • Tất cả đã ký: Cài đặt này cho phép các tập lệnh chạy trong PowerShell. Tập lệnh phải có chữ ký điện tử được liên kết từ một nhà xuất bản đáng tin cậy. Sẽ có lời nhắc trước khi bạn chạy các tập lệnh từ các nhà xuất bản đáng tin cậy.
  • Điều khiển từ xa : Cài đặt này cho phép chạy tập lệnh, nhưng yêu cầu tập lệnh và tệp cấu hình được tải xuống từ Internet phải có chữ ký số được liên kết từ nhà xuất bản đáng tin cậy. Các tập lệnh chạy từ máy tính cục bộ không cần phải ký. Không có lời nhắc trước khi chạy tập lệnh.
  • Không hạn chế : Điều này cho phép các tập lệnh chưa được đánh dấu chạy, bao gồm tất cả các tập lệnh và tệp cấu hình được tải xuống từ Internet. Điều này sẽ bao gồm các tệp từ Outlook và Messenger. Rủi ro ở đây là chạy các tập lệnh mà không có bất kỳ chữ ký hoặc bảo mật nào. Chúng tôi đã đề xuất rằng bạn không bao giờ sử dụng cài đặt này.

Để xem Chính sách thực thi hiện tại của bạn được đặt thành gì, hãy mở Bảng điều khiển PowerShell và nhập:

Get-ExecutionPolicy

Đối với khóa học này và hầu hết các trường hợp khác, Chính sách được ký từ xa là tốt nhất, vì vậy hãy tiếp tục và thay đổi chính sách của bạn bằng cách sử dụng các điều sau.

Lưu ý: Điều này sẽ cần được thực hiện từ Bảng điều khiển PowerShell nâng cao.

Set-ExecutionPolicy RemoteSigned

Đó là tất cả những gì dành cho thời gian này, hẹn gặp lại các bạn vào ngày mai để có thêm những trải nghiệm thú vị về PowerShell.


Tuyên bố từ chối trách nhiệm: Thuật ngữ thích hợp cho lệnh PowerShell là một lệnh ghép ngắn và từ bây giờ chúng ta sẽ sử dụng thuật ngữ chính xác này. Nó chỉ cảm thấy thích hợp hơn khi gọi chúng là các lệnh cho phần giới thiệu này.


Nếu bạn có bất kỳ câu hỏi nào, bạn có thể tweet cho tôi @taybgibb , hoặc chỉ để lại một bình luận.

Introduction To Managing Windows DNS With PowerShell

Coding 101 87: PowerShell 2/4

Powershell And Selenium

StreamDeck And PowerShell

Black Hat USA 2010: Microsoft Powershell Its Time To Own 1/2

🔴Error Handling In PowerShell


Quyền riêng tư và Bảo mật - Các bài báo phổ biến nhất

Ứng dụng bóng đá Tây Ban Nha đã theo dõi người hâm mộ đến Narc trên quán bar

Quyền riêng tư và Bảo mật Jun 12, 2025

NỘI DUNG KHÔNG ĐƯỢC CHỨNG MINH La Liga, một ứng dụng dành cho người hâm mộ bóng đá Tây Ban Nha, đã theo dõi người hâm mộ bằng cách sử dụn..


Cách xóa bình luận của người khác khỏi bài đăng trên Facebook của bạn

Quyền riêng tư và Bảo mật Jul 12, 2025

Những người khác là tồi tệ nhất. Bạn đăng một bức ảnh đáng yêu của mình trên Facebook và họ chỉ có để nói những điều nh�..


Những điều tốt nhất (và tệ nhất) về Samsung Galaxy S8

Quyền riêng tư và Bảo mật May 24, 2025

NỘI DUNG KHÔNG ĐƯỢC CHỨNG MINH Các Galaxy S8 là điện thoại hàng đầu mới nhất của Samsung, một sự trở lại đầy thắng lợi sau ..


Cách kết nối với máy chủ FTP trong Windows (Không có phần mềm bổ sung)

Quyền riêng tư và Bảo mật Jul 5, 2025

Nếu bạn cần truy cập một máy chủ FTP, bạn có thể cài đặt các máy khách FTP chuyên dụng với nhiều tính năng –nhưng bạn không nhất thiết ph..


Bên thứ ba có thể đọc URL đầy đủ khi duyệt qua HTTPS không?

Quyền riêng tư và Bảo mật Mar 21, 2026

NỘI DUNG KHÔNG ĐƯỢC CHỨNG MINH Khi bạn truy cập một cách an toàn vào một trang web qua https: //, dữ liệu được gửi giữa máy chủ và trình duyệt..


Cách tạo một thư mục được ngụy trang bí mật mà không cần phần mềm bổ sung

Quyền riêng tư và Bảo mật Jul 26, 2025

NỘI DUNG KHÔNG ĐƯỢC CHỨNG MINH Hầu như ai cũng biết cách tạo thư mục “ẩn” trong Windows, hầu hết mọi người cũng biết cách làm cho Explorer..


Từ Hộp Mẹo: Thuật toán Mật khẩu Cá nhân, Hiển thị Phông chữ Linux / Mac trong Windows và AudioManager cho Android

Quyền riêng tư và Bảo mật Aug 4, 2025

NỘI DUNG KHÔNG ĐƯỢC CHỨNG MINH Mỗi tuần một lần, chúng tôi tham gia vào hộp mẹo và chia sẻ một số viên ngọc mà chúng tôi tìm thấy ở đó...


Virus Mac OS X: Cách loại bỏ và ngăn chặn phần mềm độc hại Mac Protector

Quyền riêng tư và Bảo mật May 18, 2025

NỘI DUNG KHÔNG ĐƯỢC CHỨNG MINH Mọi fanboy của Apple sẽ nói với bạn rằng máy Mac an toàn trước phần mềm độc hại, nhưng điều đó không đú..


Thể loại