Sử dụng PowerShell cho người dùng gia đình - Hướng dẫn dành cho người mới bắt đầu


Ai không cầu nguyện họ có thể là một phù thủy và thốt ra vài từ để có những điều kỳ diệu xảy ra? Chà, chúng tôi không thể chỉ cho bạn cách trở thành một phù thủy, nhưng chúng tôi có thể chỉ cho bạn cách làm một phép thuật máy tính nhỏ.

Nếu bạn có một máy tính Windows có Windows 7 trên đó, thì bạn đã có PowerShell. Ngoài ra, nếu bạn có máy tính chạy Windows 7, vui lòng cập nhật nó để bảo mật.

Nhưng bài viết này không chỉ dành cho người dùng Windows. Phiên bản mới nhất của PowerShell là miễn phí và có thể được cài đặt và sử dụng trên các máy tính Mac và Linux.

Điều đó rất quan trọng vì những gì bạn tìm hiểu về PowerShell có thể được sử dụng trên hầu hết mọi máy tính hiện nay. Ai biết? Bạn có thể nâng kỹ năng này lên một tầm cao mới và dấn thân vào sự nghiệp Công nghệ thông tin.

PowerShell là gì?

Câu trả lời công nghệ cao của Microsoft là nó là một, Shell dòng lệnh được thiết kế đặc biệt cho quản trị viên hệ thống. Âm thanh đáng sợ. Nhưng nó không có. Bạn có chăm sóc máy tính của bạn? Vâng, sau đó bạn là người quản trị hệ thống trong nhà của bạn.

Bạn có nói cho máy tính biết phải làm gì với các nhấp chuột và tổ hợp phím không? Vâng, vì vậy, hãy nghĩ về trình vỏ dòng lệnh như một cửa sổ khác mà bạn nhập các thứ vào để cho máy tính biết phải làm gì. Bạn có thể làm điều này.

In_content_1 tất cả: [300x250] / dfp: [640x360]->

PowerShell giống như một ngôn ngữ lập trình, nhưng không khó hiểu như hầu hết. Nó thực sự đọc rất giống tiếng Anh thông thường, đó là thứ mà Microsoft cố gắng để nó không được các lập trình viên chọn.

Nó là một cách viết một vài dòng lệnh, được gọi là một tập lệnh, để làm cho hệ điều hành Windows làm điều gì đó mà bạn muốn nó làm. Sau đó, bạn có thể lưu các dòng đó trong một tệp và chạy nó bằng một cú nhấp hoặc lên lịch để chạy theo định kỳ.

Bạn có thể làm gì với PowerShell?

Điểm cấp cao của PowerShell là để có thể tự động hóa các tác vụ, vì vậy bạn không phải lãng phí thời gian để làm những việc trần tục nhiều lần. Đối với Quản trị viên Hệ thống chuyên nghiệp, đó có thể là một cái gì đó như tạo người dùng mới, tạo mật khẩu cho họ và gửi e-mail với các chi tiết cho người giám sát mới của họ.

Thực hiện thủ công, với các lần nhấp và gõ, quá trình đó có thể mất 5 phút đến một giờ hoặc hơn. Với các tập lệnh phù hợp, Quản trị viên hệ thống thậm chí có thể không phải thực hiện bất kỳ phần nào trong đó.

Nhưng bạn muốn biết những gì bạn có thể làm với PowerShell tại nhà. Khá nhiều thứ mà bạn không thích làm lại nhiều lần. Sử dụng nó để giải phóng dung lượng trên ổ cứng của bạn bằng cách xóa các tệp tạm thời và nhật ký mà bạn không cần.

Đặt giờ giới nghiêm trên máy tính trẻ con của bạn. Đổi tên hoặc tổ chức một loạt các tập tin. Đó là vẻ đẹp của PowerShell. Hầu như bất cứ điều gì bạn có thể làm trên máy tính của mình, bạn có thể tạo tập lệnh PowerShell để tự động hóa và chạy với một cú nhấp chuột hoặc theo lịch trình.

Làm cách nào để sử dụng PowerShell?

Cách dễ nhất để làm việc với PowerShell là trong Môi trường tập lệnh tích hợp PowerShell (ISE). Bạn có thể tìm thấy nó bằng cách nhấp vào Bắt đầu và nhập powershell isevào thanh tìm kiếm trong Windows 10. Bạn sẽ thấy nó như hiển thị bên dưới.

Lần đầu tiên chúng tôi sử dụng nó, chúng tôi sẽ chạy nó với tư cách Quản trị viên. Để làm điều này, trước tiên bạn phải có quyền quản trị viên trên máy tính của bạn. Trong Menu bắt đầu, nhấp chuột phải vào PowerShell ISE, sau đó nhấp vào Chạy với tư cách quản trị viên.

Bạn có thể nhận được (UAC) hỏi xem bạn có chắc chắn muốn nhận không. Nhấp vào .

Bây giờ bạn đang xem IDE PowerShell. Cửa sổ trên cùng của cửa sổ (1)là khung kịch bản. Đây là nơi bạn sẽ viết kịch bản của bạn. Cửa sổ dưới cùng của cửa sổ (2)là khu vực bàn điều khiển. Khi bạn kiểm tra tập lệnh của mình, bạn sẽ thấy đầu ra trong khung này.

Đây cũng là nơi bạn sẽ thấy các thông báo lỗi và như vậy sẽ giúp bạn khắc phục và làm cho tập lệnh của bạn tốt hơn. Cửa sổ ở bên phải của cửa sổ (3)là tiện ích bổ sung lệnh. Hãy nghĩ về nó như một từ điển của tất cả các lệnh PowerShell có sẵn cho bạn.

PowerShell được thiết lập để không chạy bất kỳ tập lệnh nào ngoài thoseal đã là một phần của Windows. Bạn sẽ cần thay đổi nó để bạn có thể chạy các tập lệnh của mình.

Trong cửa sổ tập lệnh, sao chép và dán nội dung sau:

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned

Set-ExecutPolicymột phần của nó được gọi là cmdlet (lệnh được phát âm). Cmdlets là những thứ mạnh mẽ. Hãy nghĩ về chúng như những lệnh ngắn mà bạn có thể cung cấp cho Windows và Windows sẽ thực hiện một loạt các công cụ phức tạp hơn để đáp ứng lệnh của bạn.

Một sự tương tự sẽ là bảo con bạn dọn phòng của chúng. Ngắn và đến điểm. Nếu con bạn thành thạo trong việc dọn phòng, sau đó chúng sẽ đi và dọn giường, cho đồ giặt vào giỏ, để đồ chơi và sách, và thậm chí có thể hút bụi sàn nhà. Họ hiểu rằng lệnh ghép ngắn Clean-YourRoom có ​​nghĩa là tất cả những điều đó.

Ở đầu cửa sổ, bạn sẽ thấy một đầu mũi tên màu xanh lục. Bấm vào đó để chạy lệnh.

- Phần ExecutPolicyđang nói với Set-ExecutPolicynên đặt chính sách nào. Nó có một tham số. Nó nói rằng, tôi muốn bạn làm việc theo các hướng dẫn này và thực hiện điều này một cách cụ thể. Nó bảo nó sử dụng chính sách cụ thể của RemoteSign.

Chính sách RemoteSignnói rằng PowerShell có thể không thực thi hoặc chạy bất kỳ tập lệnh nào được tải xuống từ Internet trừ khi được nhà xuất bản đáng tin cậy ký.

Theo cách vòng, nó nói với PowerShell rằng nó rất tốt để chạy bất kỳ tập lệnh nào được tạo cục bộ, bởi vì những don don cần phải được ký bởi một nhà xuất bản đáng tin cậy từ xa. Giờ đây, tập lệnh PowerShell của bạn sẽ có thể chạy bất kỳ tập lệnh nào bạn viết trên máy tính của mình.

Hãy để xem một tập lệnh để xóa các tập tin tạm thời. Nó không mạnh mẽ hay triệt để như CCleaner, nhưng CCleaner đi kèm với bộ sản phẩm riêng của nó.

Sử dụng PowerShell để tạo không gian trên ổ cứng của bạn

Chúng tôi sẽ phá vỡ tập lệnh này, theo từng dòng, vì vậy bạn có thể thấy nó hoạt động như thế nào. Cuối cùng, tập lệnh sẽ được hiển thị hoàn toàn để bạn có thể sao chép và dán tập lệnh nếu bạn muốn.

$TempFileLocation = "C:\Users\username\Appdata\Local\Temp\*"

Bất cứ điều gì có ký hiệu đô la ở phía trước đều là tên biến . Hãy nghĩ về nó giống như một chiếc ví để đặt những thứ có giá trị vào. Ví nhắc nhở chúng ta về ký hiệu đô la, những vật có giá trị nghe có vẻ như biến, vì vậy chúng tôi cũng sẽ nhớ điều đó. Chúng tôi tạo ra một ví hoặc biến, được đặt tên $ TempFileLocation. Dấu bằng cho biết PowerShell nên đặt gì vào biến đó.

Trong trường hợp này, chúng tôi sẽ đặt vào vị trí của vị trí tệp tạm thời của Windows - C: \ Users \ username \ AppData \ Địa phương \ Temp \ *. Chúng tôi làm điều này vì hai lý do; đó là một vị trí luôn an toàn để xóa các tệp khỏi và chúng tôi sẽ sử dụng nó để báo cho PowerShell biết nơi nào sẽ phải xóa các tệp.

Nơi ghi tên người dùng trong vị trí đó, trao đổi nó cho người dùng của bạn Tên. Đó là tên người dùng mà bạn sử dụng để đăng nhập vào máy tính của mình. Dấu hoa thị (*) ở cuối ofit là một thẻ hoang dã. Những gì nó thể hiện là tất cả mọi thứ trong thư mục Temp, bởi vì mọi thứ trong thư mục Temp là tạm thời và chúng tôi muốn xóa nó.

Dấu ngoặc kép quanh vị trí cũng quan trọng. Thattells PowerShell rằng những gì mà trong đó có một chuỗi. Hãy nghĩ về chuỗi như một chuỗi ký tự và ký tự. Nếu đó là những con số bình thường, chúng tôi sẽ sử dụng các câu hỏi.

$TempFile = Get-ChildItem $TempFileLocation -Recurse

Chúng tôi tạo ra một biến khác. Lần này chúng ta sẽ sử dụng một lệnh để đưa ra một cái gì đó để đưa vào biến $ TempFile.

Get-ChildItem 

Một điều nữa bạn sẽ lưu ý về các lệnh ghép ngắn như Get-ChildItemlà nó hoàn toàn có thể đọc được. Xem từ đầu tiên là một động từ như thế nào? Tất cả các lệnh bắt đầu bằng các từ hành động, vì vậy bạn biết ngay nó đang làm gì. ChildItem là hai danh từ.

Phần thứ hai của lệnh ghép ngắn sẽ luôn cho chúng ta biết PowerShell sẽ áp dụng hành động nào. ChildItem có nghĩa là tất cả con cái của một vị trí cha mẹ. Điều này giống như nói lấy tất cả các tệp trong một thư mục, với các tệp là con và thư mục là cha mẹ.

Lệnh ghép ngắn nhận các mục con là gì? Mọi thứ trong biến $ TempFileLocation. PowerShell sẽ đi đến vị trí mà chúng tôi đã đặt trong $ TempFileLocation trước đó và nhận tất cả các mục con đang ở đó. Sau đó, nó sẽ đưa chúng vào biến $ TempFile.

Vậy, những gì với phần -Recurse? Điều đó nói với Get-ChildItemđể đi qua mọi thứ trong vị trí đó. Don mệnh chỉ cần lấy các tập tin ngay trong thư mục mẹ. Nếu có các thư mục trong thư mục đó, hãy nhận tất cả các con của chúng, và các con của chúng, v.v. Chúng tôi sẽ có được tất cả.

$TempFileCount = ($TempFile).count

Có, chúng tôi đang tạo ra một biến thứ ba có tên $ TempFileCountvà chúng tôi sẽ đưa một số vào biến đó. Trường hợp số lượng ở đâu? Chà, ($ TempFile) .countsẽ mang lại cho chúng tôi con số đó. Bạn có thể nhận ra rằng phần .count sẽ thực hiện việc đếm tất cả các tệp mà chúng ta vừa lưu trữ trong $ TempFile.

Tại sao chúng tôi làm điều này? Chủ yếu là vì thật tuyệt khi biết có bao nhiêu tệp vô dụng mà chúng tôi đang dọn dẹp với phần còn lại của tập lệnh để chúng tôi có thể biết mức độ hiệu quả của nó.

if($TempFileCount -eq 0)

Bây giờ chúng tôi đang thiết lập lên một tuyên bố có điều kiện. Bạn có thể thấy rằng nó yêu cầu ‘nếu. Nếu gì? Nếu điều trong ngoặc là đúng hoặc sai. Các dấu ngoặc rất quan trọng, nếu không thì If không biết những gì cần so sánh. Ở đây, nó hỏi nếu số lượng chúng tôi lưu trữ trong $ TempFileCountcó bằng không.

-eqlà tốc ký cho bằng. Nó là một loại toán tử so sánh. Nó giống như nói với những đứa trẻ của bạn, nếu Nếu phòng của bạn sạch sẽ, tuyệt vời, chúng tôi sẽ làm một cái gì đó, thì Câu nói này nói rằng nếu số được lưu trữ trong $ TempFileCount là tương đương với số 0 thì hãy làm điều tiếp theo.

{Write-Host "There are no files in the folder $TempFileLocation" -ForegroundColor Green}

Đó là điều sẽ xảy ra nếu $ TempFileCountbằng không. Các dấu ngoặc nhọn là quan trọng. Họ bảo PowerShell chỉ làm những gì bên trong chúng nếu $ TempFileCount bằng 0.

Nó sẽ ghi vào máy chủ hoặc màn hình, ở đó Không có tệp nào trong thư mục C: \ Users \ username \ Appdata \ Local \ Temp \ *. Tham số ở cuối, - ForegroundColorbáo cho PowerShell làm cho văn bản có màu xanh lá cây. Điều đó chỉ giúp dễ dàng phân biệt với một thông báo lỗi thường có màu đỏ.

Else

Bạn biết những gì khác có nghĩa là gì. Đây là, phòng của bạn tốt hơn nên được sạch sẽ hoặc nếu không thì một phần của việc kiểm tra xem con bạn có dọn phòng không. Đó là điều sẽ xảy ra nếu $ TempFileCountkhông phải là số không.

{$TempFile | Remove-Item -WhatIf -Confirm:$false -Recurse -Force -WarningAction SilentlyContinue -ErrorAction SilentlyContinue}

Điều này nói rằng hãy đến vị trí hiện tại được lưu trữ trong $ TempFile >. Đường thẳng đứng sau nó được gọi là đường ống. Nó hoạt động giống như một đường ống thực tế khi nó nói với PowerShell để đưa các nội dung của $ TempFile vào lệnh ghép ngắn, như thể đó là nước được dẫn vào máy giặt. Sau đó, lệnh ghép ngắn Xóa mụcthực hiện những gì nó nói; nó loại bỏ bất cứ thứ gì ở vị trí đó.

Tham số -What Ifrất quan trọng ở giai đoạn này. Nó bảo PowerShell chạy lệnh, nhưng chỉ cần thử, không cần xóa bất cứ thứ gì. Chỉ cho chúng tôi thấy những gì sẽ xảy ra nếu chúng tôi thực sự làm điều này.

Điều này cho phép bạn kiểm tra các lệnh mà không thay đổi bất cứ điều gì trên máy tính của bạn. Để lại -What If in there cho đến khi bạn cảm thấy thoải mái rằng kịch bản sẽ làm những gì bạn muốn nó và không có gì khác. Sau đó, chỉ cần xóa nó ra và tập lệnh sẽ thực hiện công việc của nó.

Tham số -Xác nhận: $ falsengăn tập lệnh hỏi bạn có thực sự muốn xóa tệp không. Bạn biết -Recurselàm gì. -Forcecó nghĩa là xóa điều đó bất kể là gì. -WarningActionđược đặt thành SilentlyContinue.

Điều này ngăn tập lệnh đưa ra cảnh báo về những gì bạn xóa. -ErrorActionđược đặt thành SilentlyContinueđể nếu có bất kỳ loại lỗi nào trong quy trình, nó sẽ tiếp tục hoạt động.

Bây giờ chúng tôi đang ở dòng cuối cùng.

Write-Host "Cleared $TempFileCount files in the folder $TempFileLocation" -ForegroundColor Green}

Giống như Máy chủ ghiđã làm lần đầu tiên, nó sẽ xuất ra câu sau, vì vậy chúng tôi biết điều gì đã xảy ra . Nó sẽ cho chúng tôi biết có bao nhiêu tệp đã bị xóa khỏi thư mục mà nó vừa xử lý và làm cho nó có màu xanh lá cây để dễ dàng phát hiện ra.

Hãy xem xét tập lệnh hoàn toàn:

$TempFileLocation = "C:\Users\guymcd\Appdata\Local\Temp\*"
$TempFile = Get-ChildItem $TempFileLocation -Recurse
$TempFileCount = ($TempFile).count

if($TempFileCount -eq "0") {
Write-Host "There are no files in the folder $TempFileLocation" - ForegroundColor Green
}
Else {
$TempFile | Remove-Item -Confirm:$false -Recurse -Force -WarningAction SilentlyContinue -ErrorAction SilentlyContinue
Write-Host "Cleared $TempFileCount files in the folder $TempFileLocation" -ForegroundColor Green
}

Bạn có thể sao chép và dán phần này vào ISE PowerShell của mình và lưu nó dưới dạng xóa-Tạm thờiFiles.ps1. Bạn cũng có thể tuân thủ quy ước đặt tên của các lệnh ghép ngắn mà bạn hiểu chúng.

Nếu mã không hoạt động cho bạn vì một số lý do, bạn cũng có thể tải xuống tập lệnh PowerShell chúng tôi đã tạo và Chỉ cần chạy nó. Chỉ cần giải nén nó trước để xem tập tin kịch bản.

Bất cứ khi nào bạn muốn chạy tập lệnh này, chỉ cần nhấp chuột phải vào tập lệnh đó và chọn Chạy với PowerShell. Bảng điều khiển PowerShell sẽ bật lên trong một hoặc hai giây, trong khi tập lệnh của bạn làm điều đó và sau đó sẽ biến mất nếu không có lỗi.

Tôi có thể tìm hiểu thêm PowerShell ở đâu?

Điều đó có vẻ rất nhiều! Đối với tập lệnh PowerShell đầu tiên của bạn, đó là một chút công bằng. Nếu bạn làm cho đến nay, hãy hoan nghênh chính mình. Bạn đã học được rất nhiều ngày hôm nay, nhưng bây giờ bạn muốn tìm hiểu thêm. Thật tuyệt!

Có rất nhiều tài nguyên trên Internet để tìm hiểu thêm về PowerShell. Một nơi tốt để bắt đầu là bài viết của chúng tôi, về Tạo danh sách các chương trình khởi động thông qua dòng lệnh hoặc PowerShell. Sau đó kiểm tra các tài nguyên khác:

  • Bắt đầu với Microsoft PowerShell - Học viện ảo Microsoft
  • Hướng dẫn PowerShell - TutorialsPoint.com
  • 1600 Pennsylvania Avenue / Colloquy 4: The Joe Miller Joke Book / Report on the We-Uns

    bài viết liên quan:


    14.03.2019