Hướng dẫn

Powershell: nó là gì và cơ bản và các lệnh comandos được đề xuất

Mục lục:

Anonim

Giống như nó hoạt động và hoàn thành các tác vụ tương tự như các nhiệm vụ có thể nhận được bằng dấu nhắc lệnh, công cụ Windows PowerShell gốc là tài nguyên đầu vào cho hệ điều hành Windows. Một công cụ thường được sử dụng cho sự linh hoạt của cả kỹ sư và nhà phân tích hệ thống hàng ngày trong công việc của họ.

Cho dù bạn phải quản lý máy chủ hoặc hệ thống, PowerShell là phiên bản cải tiến và nâng cao của Dấu nhắc lệnh truyền thống. Các tác vụ và chức năng của Windows Powershell về cơ bản giống như các tác vụ được tìm thấy trong CMD, (gửi lệnh tới Windows thông qua các lệnh cụ thể), mặc dù nó cũng có một số chức năng bổ sung có thể rất hữu ích cho người dùng.

Trái ngược với những gì xảy ra trong CMD, PowerShell mang đến cho chúng ta một giao diện kịch bản mạnh mẽ với các chức năng cụ thể nơi bạn có thể chạy chúng để thực hiện các quy trình khác nhau trong hệ thống Windows. Với một dòng lệnh tương tác như vậy, bạn có thể khởi chạy các lệnh để tự động hóa các tác vụ khác nhau.

Công cụ này đã tương thích với Windows XP, nhưng để sử dụng nó, nó phải được tải xuống và cài đặt. Giờ đây với Windows 10, Powershell đã được cài đặt sẵn và khả năng hiển thị đáng kể để giúp truy cập dễ dàng.

Chỉ số nội dung

Windows Powershell là gì?

Giao diện PowerShell có thể được sử dụng cho các mục đích khác nhau, chẳng hạn như chạy các ứng dụng nâng cao hoặc thậm chí các tác vụ đơn giản hơn như biết thời gian hiện tại. Ngoài ra, các lệnh Powershell có thể hoạt động cùng nhau, kết hợp trên dòng lệnh để có kết quả cụ thể và nâng cao hơn. Điều này đã được gọi là " đường ống".

Trong khi đó, Powershell cũng cung cấp một tùy chọn có thể có ích cho một số người dùng: khả năng thêm các lệnh khác được tạo bởi cùng một người dùng vào bảng điều khiển.

Mặc dù PowerShell đã được tạo ra vài năm trước và với Windows 10, nó có khả năng hiển thị lớn hơn và nổi bật hơn, nó vẫn là một công cụ ít được biết đến, không chỉ cho người dùng cơ bản, mà còn cho nhiều nhà khai thác máy tính không biết tất cả những lợi thế họ có thể cung cấp. các lệnh ghép ngắn (ánh sáng tập lệnh) của giao diện điều khiển này.

Do tất cả các ưu điểm mà các lệnh này có thể cung cấp và tính đến việc Microsoft đã dành nhiều không gian hơn cho Powershell để người dùng Windows quen với nó, cần phải bắt đầu biết thêm về các chức năng của Powershell, chúng được sử dụng cho và làm thế nào họ có thể có lợi cho chúng ta bằng cách sử dụng chúng.

Cách mở Windows PowerShell

Công cụ PowerShell có thể được mở nhanh chóng bằng cách truy cập chức năng Run có trong Windows.

  • Để thực hiện việc này, nhấn đồng thời các phím Windows + R. Trong hộp Run vừa mở, nhập "PowerShell" và nhấp OK hoặc nhấn trực tiếp phím Enter.

Một tùy chọn khác bạn phải truy cập Powershell là sử dụng công cụ tìm kiếm do Cortana cung cấp, nằm ở phần dưới bên trái của màn hình, từ đó bạn có thể tìm kiếm công cụ này.

Các lệnh PowerShell cần thiết (Hướng dẫn)

Trong PowerShell, các lệnh được gọi là "cmdlet" và bạn có thể sử dụng phím tab để Powershell tự động hoàn thành tên của lệnh ghép ngắn bạn muốn sử dụng.

Windows PowerShell đã được tạo ra với ý định tương thích ngược, làm cho nó trở thành một tài nguyên hoạt động tốt với cùng các lệnh mà CMD sử dụng. Biết điều này, các lệnh tương tự đã được sử dụng trong Dấu nhắc lệnh có thể được sử dụng, nhưng trong giao diện nâng cao hơn và có nhiều lệnh hơn.

Ở đây chúng tôi đã tập hợp một số lượng đáng kể các lệnh ghép ngắn hữu ích có thể được sử dụng trong Powershell và chi tiết cú pháp của từng lệnh, cũng như chức năng cụ thể của từng lệnh.

Để bắt đầu với những điều cơ bản và xem nhanh các lệnh ghép ngắn mà PowerShell cung cấp cho chúng tôi, chúng tôi có thể thực hiện lệnh "Show-Command", qua đó một cửa sổ sẽ mở ra, hiển thị cho chúng tôi danh sách đầy đủ và đầy đủ tất cả các lệnh có sẵn.

Nhận lệnh

Trong trường hợp bạn muốn biết tất cả các lệnh ghép ngắn mà PowerShell cung cấp, bạn có thể thực hiện bằng cách nhập lệnh này trong bảng điều khiển.

Windows PowerShell cho phép, thông qua lệnh này, để biết tất cả các chức năng và đặc điểm mà các lệnh ghép ngắn của nó bao gồm, được trình bày dưới dạng danh sách mô tả các chức năng của từng chức năng, cũng như các tham số và tùy chọn đặc biệt của chúng.

Để có được danh sách các lệnh này, cần phải viết "Lệnh" theo sau là một tham số cụ thể, với thông tin nào sẽ được lấy từ lệnh ghép ngắn trong câu hỏi. Ví dụ: nếu chúng ta viết trong Powershell "Get-Command * -help *", chúng ta sẽ thấy một loạt các lệnh chấp nhận tham số "-help".

Nếu bạn thêm dấu hoa thị vào mỗi bên của tham số, như trong ví dụ chúng tôi đã thực hiện, bạn sẽ nhận được tất cả các kết hợp có thể có mà lệnh ghép lệnh Get-Command sử dụng khi đi kèm với - -elp Trợ giúp.

Nhập lệnh Get-Command -Name trong bảng điều khiển Chúng tôi nhận được một tập hợp các lệnh bao gồm tên cụ thể đó. Nó có thể xảy ra rằng bạn không nhớ hoặc không biết tên chính xác của lệnh ghép ngắn. Trong tình huống này, bạn có thể bao gồm hai dấu sao ở mỗi bên của tên như đã đề cập ở trên, ví dụ: "Get-Command -Name * set *", để bạn có thể thấy danh sách các lệnh ghép ngắn bao gồm cụm từ "set" trong tên của bạn

Nhận máy chủ

Thực thi lệnh này cung cấp cho bạn phiên bản Windows PowerShell mà hệ thống đang sử dụng.

Lịch sử

Lệnh này cung cấp lịch sử của tất cả các lệnh đã được thực thi trong phiên PowerShell và hiện đang chạy.

Nhận ngẫu nhiên

Thực hiện lệnh này tạo ra một số ngẫu nhiên trong khoảng từ 0 đến 2.147.483.646.

Nhận dịch vụ

Trong một số trường hợp nhất định, cần phải biết những dịch vụ nào đã được cài đặt trong hệ thống, có thể sử dụng lệnh Get-Service để cung cấp thông tin về các dịch vụ đang chạy và những dịch vụ đã bị dừng.

Để sử dụng lệnh ghép ngắn này, hãy nhập "Nhận dịch vụ" trong bảng điều khiển, trong khi sử dụng bất kỳ tham số bổ sung nào, theo cú pháp tương tự như ví dụ sau:

Nhận dịch vụ | Trường hợp-Đối tượng {$ _. Trạng thái -eq "Đang chạy"}

Với điều này, các dịch vụ được thực thi trong hệ thống. Trong trường hợp lệnh này được thực thi mà không có bất kỳ tham số nào, chẳng hạn, một danh sách tất cả các dịch vụ với trạng thái tương ứng của chúng sẽ được trình bày (ví dụ: Chạy Running hoặc Tạm dừng, ví dụ).

Nếu bạn đã biết chính xác lệnh nào bạn muốn nhận thông tin, sử dụng Get-Service thực tế hơn nhiều so với truy cập Bảng điều khiển Windows và làm việc từ GUI Windows (giao diện người dùng đồ họa).

Nhận trợ giúp

Đặc biệt rất hữu ích cho người dùng mới làm quen với Powershell, lệnh này trình bày một trợ giúp cơ bản để tìm hiểu thêm về lệnh ghép ngắn và các chức năng của chúng.

Trong trường hợp bạn đang sử dụng PowerShell trong một thời gian ngắn, rất có khả năng bạn sẽ thấy mình mất phương hướng và gặp một số khó khăn; Trong những trường hợp này, Get-Help sẽ trở thành hướng dẫn của bạn, vì lệnh này cung cấp tài liệu cần thiết về lệnh ghép ngắn, hàm, lệnh và tập lệnh.

Theo cùng một cách, việc sử dụng nó hoàn toàn không phức tạp: bạn chỉ cần viết "Nhận trợ giúp" kèm theo lệnh ghép ngắn mà bạn muốn biết thêm chi tiết. Để minh họa cho việc sử dụng nó, chúng ta có thể tìm kiếm thêm thông tin từ lệnh ghép ngắn "Get-Process", trong trường hợp đó là đủ để viết "Get-Help Get-Process".

Để có một ý tưởng rõ ràng hơn về cách Get-Help hoạt động trong Windows PowerShell, chỉ cần chạy lệnh này, chúng ta sẽ thấy một mô tả cùng với một lời giải thích ngắn gọn về cách sử dụng nó.

Nhận ngày

Để nhanh chóng biết ngày nào là vào một ngày nhất định trong quá khứ, sử dụng lệnh này bạn sẽ có được ngày chính xác. Ví dụ: để biết ngày 20 tháng 5 năm 2009 là ngày nào, bạn sẽ phải viết bằng Powershell:

"Ngày nhận ngày 05.05.2009", nhập ngày ở định dạng "dd.mm.aa". Trong trường hợp thực hiện Get-Date một mình, nó sẽ cho chúng ta ngày giờ hiện tại.

PS C: \ Users \ MiguePR> Ngày thứ bảy, 27 tháng 7 năm 2019 12:00:40

Sao chép-Mục

Với lệnh này, bạn có thể sao chép các thư mục hoặc tập tin.

Nếu bạn đang tìm cách sao chép các tệp và thư mục trên ổ lưu trữ của mình hoặc nếu bạn cần sao chép khóa hoặc mục đăng ký, Copy-Item là lệnh ghép ngắn phù hợp. Nó hoạt động rất giống với lệnh "cp" được bao gồm trong Dấu nhắc lệnh, mặc dù nó tốt hơn nhiều.

Đối với điều này, lệnh Copy-Item phải được sử dụng để sao chép và sửa đổi tên của các phần tử bằng cách sử dụng cùng một lệnh, trong đó một tên mới có thể được thiết lập cho phần tử đã nói. Trong trường hợp bạn muốn sao chép và đổi tên tập tin "ProfesionalReview.htm" thành "Proyectitosbuenos.txt", hãy viết:

Sao chép-Mục "C: \ Proyectos.htm" -Destination "C: \ MyData \ Proyectos.txt".

Lệnh gọi

Khi bạn muốn chạy tập lệnh hoặc lệnh PowerShell (cục bộ hoặc từ xa, trên một hoặc nhiều máy tính), "Lệnh gọi" sẽ là lựa chọn tốt nhất của bạn. Nó rất đơn giản để sử dụng và sẽ giúp bạn quản lý các máy tính hàng loạt.

Bạn cần nhập Invoke-Command bên cạnh tập lệnh hoặc lệnh với vị trí chính xác của nó.

Gọi-Biểu hiện

Với Invoke-Expression, một biểu thức hoặc lệnh khác được thực thi. Nếu bạn thấy mình nhập một chuỗi đầu vào hoặc một biểu thức, lệnh này trước tiên sẽ phân tích cú pháp và sau đó thực hiện nó. Không có lệnh này, chuỗi trả về không có hành động. Invoke-Expression chỉ hoạt động cục bộ, không giống như Invoke-Command.

Để sử dụng lệnh này, Invoke-Expression phải được viết cùng với một biểu thức hoặc lệnh. Ví dụ: bạn có thể đặt biến "$ Command" bằng lệnh trỏ đến lệnh ghép ngắn "Get-Process". Bằng cách thực hiện lệnh "Invoke-Expression $ Command", "Get-Process" sẽ hoạt động giống như một lệnh ghép ngắn trên máy tính cục bộ.

Tương tự, một hàm có thể được thực thi trong một tập lệnh với việc sử dụng một biến, rất hữu ích khi làm việc với các tập lệnh động.

Gọi-WebRequest

Thông qua lệnh ghép ngắn này, tương tự như cURL trong Linux, bạn có thể đăng nhập, quét và tải xuống thông tin liên quan đến các dịch vụ và trang web, trong khi làm việc từ giao diện PowerShell, theo dõi một số trang web của bạn muốn có được thông tin này

Để thực hiện các tác vụ này, nó phải được sử dụng như Invoke-WebRequest cùng với các tham số của nó. Với điều này, có thể nhận được các liên kết mà một trang web cụ thể có cú pháp ví dụ sau:

(Gọi-WebRequestTHERUri 'https://wwww.ebay.com'). Liên kết

Trong trường hợp này, các liên kết từ trang eBay sẽ được lấy.

Set-ExecutPolicy

Mặc dù chúng tôi có thể tạo và bắt đầu các tập lệnh (.ps1) từ PowerShell, chúng tôi bị hạn chế do các vấn đề bảo mật. Tuy nhiên, điều này có thể được sửa đổi thông qua danh mục bảo mật bằng lệnh ghép ngắn Set-ExecutPolicy.

Bạn chỉ cần nhập Set-ExecutPolicy bên cạnh một trong bốn tùy chọn bảo mật để thực hiện các thay đổi bắt buộc:

  • Bị hạn chế Tất cả SignedRemote SignedUnrestricted

Ví dụ: nếu chúng tôi muốn đặt mức bảo mật bị hạn chế, chúng tôi sẽ phải sử dụng:

Set-ExecutPolicy -ExecutPolicy bị hạn chế

Nhận vật phẩm

Trong trường hợp bạn đang tìm kiếm thông tin về một mục có vị trí cụ thể, chẳng hạn như một thư mục trên ổ cứng, lệnh Get-Item là lệnh được chỉ định cho tác vụ này.

Cần làm rõ rằng nội dung của chính phần tử, chẳng hạn như thư mục con và tệp trong một thư mục cụ thể, không được lấy, trừ khi bạn yêu cầu rõ ràng.

Ở phía bên kia của Get-Item, chúng tôi tìm thấy lệnh ghép ngắn Remove-Item, cho phép loại bỏ mục được chỉ định.

Xóa-Mục

Trong trường hợp bạn muốn xóa các mục như thư mục, tệp, hàm và biến và khóa đăng ký, Remove-Item sẽ là lệnh ghép ngắn tốt nhất. Điều quan trọng là nó cung cấp các tham số để nhập và đẩy các phần tử.

Với lệnh ghép ngắn Remove-Item, bạn có thể xóa các mục khỏi các vị trí cụ thể bằng cách sử dụng các tham số nhất định. Ví dụ, có thể xóa tệp "Finanzas.txt" bằng lệnh sau:

Xóa mục "C: \ MyData \ Finance.txt"

Nhận nội dung

Khi bạn cần mọi thứ mà tệp văn bản chứa về mặt nội dung trong một đường dẫn cụ thể, hãy mở nó và đọc nó bằng trình soạn thảo văn bản như Notepad. Sử dụng Windows PowerShell, bạn có thể sử dụng lệnh Get-Content để duyệt những gì tập tin chứa mà không cần mở nó.

Ví dụ: có thể nhận được 20 dòng văn bản có trong tệp "Proyectos.htm" mà bạn có thể viết:

Nhận nội dung "C: \ Proyectos.htm" -TotalCount 20

Lệnh ghép ngắn này tương tự như lệnh ghép ngắn Get-Item trước đó, nhưng chúng ta có thể lấy những gì có trong tệp mà bạn đã chỉ ra. Nếu bạn chạy lệnh này cho một tệp có phần mở rộng txt, nó sẽ hiển thị đầy đủ văn bản có trong tệp đó. Nếu bạn sử dụng nó trong tệp hình ảnh png, bạn sẽ nhận được rất nhiều dữ liệu nhị phân vô nghĩa và không thể đọc được.

Nếu được sử dụng một mình, Get-Content không hữu ích lắm. Nhưng nó có thể được trộn với các lệnh ghép cụ thể hơn để có được kết quả chính xác hơn.

Đặt nội dung

Với lệnh ghép ngắn này, có thể lưu trữ văn bản trong một tệp, một cái gì đó tương tự như những gì có thể được thực hiện với hồi âm hồi hồi trong Bash. Nếu được sử dụng kết hợp với lệnh ghép ngắn Get-Content, trước tiên bạn có thể thấy những gì được chứa trong một tệp nhất định và sau đó tạo bản sao sang tệp khác thông qua Set-Content.

Ví dụ: bạn có thể sử dụng lệnh ghép ngắn Set-Content để thêm hoặc thay thế những gì có trong một tệp bằng nội dung khác. Cuối cùng, nó có thể được kết hợp với lệnh đã nói ở trên để lưu nó với một tên mới (example.txt) như sau:

Nhận nội dung "C: \ Proyectos.htm" -TotalCount 30 | Đặt nội dung "example.txt"

Biến đổi

Nếu bạn đang ở trong PowerShell đang cố gắng sử dụng các biến, điều này có thể được thực hiện với lệnh ghép ngắn biến, mà bạn sẽ có thể xem các giá trị này. Lệnh này hiển thị các giá trị trong một bảng, từ đó các ký tự đại diện có thể được sử dụng, bao gồm và loại trừ.

Để sử dụng nó, bạn chỉ cần viết "Biến" kèm theo các tham số và các tùy chọn khác. Ví dụ: nếu bạn muốn biết giá trị của biến "chiết khấu", hãy viết như sau:

Biến--Tên "giảm giá"

Biến-Set

Giá trị của một biến có thể được thiết lập, sửa đổi hoặc khởi tạo lại với lệnh ghép ngắn này. Để đặt giá trị của biến của trường hợp trước, nên viết phần sau:

Biến-Set -Name "giảm giá" -Giá trị "Giá trị được đặt ở đây"

Quá trình

Thông thường, chúng tôi sử dụng Trình quản lý tác vụ để khám phá chính xác các quy trình đang chạy trên PC của chúng tôi. Trong PowerShell, bất kỳ người dùng nào cũng có thể biết điều này bằng cách chạy lệnh ghép ngắn này, họ sẽ nhận được danh sách các quy trình hiện đang hoạt động.

Lệnh ghép ngắn Get-Process có một số điểm tương đồng với Get-Service, mặc dù trong trường hợp này, nó cung cấp thông tin về các quy trình.

Quá trình bắt đầu

Với lệnh ghép ngắn này, Windows PowerShell giúp việc chạy các tiến trình trên máy tính dễ dàng hơn nhiều.

Ví dụ: nếu bạn cần sử dụng máy tính, bạn có thể mở nó nhanh chóng và dễ dàng bằng cách gõ như sau:

Bắt đầu-Quá trình -FilePath trong khi tính

Dừng quá trình

Với lệnh ghép ngắn này, bạn có thể dừng một quá trình, cho dù đó là do bạn hoặc người dùng khác bắt đầu.

Tiếp tục với ví dụ về Máy tính, nếu bạn muốn làm gián đoạn hoàn toàn các quá trình đang chạy của nó, hãy viết như sau trong PowerShell:

Dừng quá trình - Tên "calc"

Dịch vụ bắt đầu

Nếu bạn cần khởi động một dịch vụ trên PC, lệnh ghép ngắn Dịch vụ bắt đầu là dịch vụ được chỉ định trong trường hợp này, phục vụ theo cách tương tự ngay cả khi dịch vụ nói bị vô hiệu hóa trên PC.

Để bắt đầu dịch vụ Windows Search, cú pháp này được sử dụng:

Dịch vụ bắt đầu -Tên "Tìm kiếm"

Dịch vụ dừng

Với lệnh này, bạn dừng các dịch vụ đang chạy trên máy tính.

Dừng dịch vụ - Tên "Wsearch"

Với đơn đặt hàng này, bạn sẽ dừng dịch vụ "Tìm kiếm Windows".

Thoát

Bạn có thể thoát PowerShell bằng lệnh Thoát.

Kết luận về Windows PowerShell

Có vẻ như một số lệnh này ít được sử dụng, mặc dù điều đó xảy ra vì chúng là các lệnh không nổi bật cho đến khi các tham số khác được nhập vào một cách hiệu quả làm cho PowerShell thể hiện toàn bộ sức mạnh của nó.

Các tham số này có ích khi bạn viết Cmdlets hoặc Light ScScript của riêng bạn, đây là một cách tốt để nhận được nhiều lợi ích nhất từ ​​các chức năng PowerShell.

Mặc dù chúng là các lệnh mà bạn sử dụng một cách rời rạc, nhưng biết chúng hoạt động như thế nào và chúng là gì có lợi thế của nó, xem xét rằng Microsoft hiện đang tập trung vào PowerShell hơn bao giờ hết.

Vào cuối ngày, các lệnh ghép ngắn là các lệnh cần thiết mà bạn nên biết nếu bạn muốn tận dụng tối đa Windows PowerShell.

Hướng dẫn

Lựa chọn của người biên tập

Back to top button