2008-08-28 9 views
65

Tôi đã chơi với một trong các phiên bản beta đầu tiên của PowerShell V1, nhưng chưa sử dụng nó vì nó đã "vàng". Cách tốt nhất để bắt đầu sử dụng PowerShell là gì?Làm cách nào để bắt đầu với PowerShell?

Tôi nên sử dụng phiên bản PowerShell nào (V1.0 so với 2.0 CTP)? Bạn đang sử dụng PowerShell cho mục đích gì? Có bất kỳ công cụ nào làm cho việc sử dụng PowerShell dễ dàng hơn (nghĩa là, môi trường phát triển) không?

+4

Điều này thực sự cần được chia nhỏ thành các câu hỏi riêng biệt, đặc biệt là câu hỏi cuối cùng về IDE. – halr9000

Trả lời

49

Đối với học PowerShell, có một số tài nguyên lớn

  1. Technet ảo Labs (Introduction to Windows PowerShell)
  2. PowerShellCommunity.org - Diễn đàn, blog, kịch bản kho
  3. PowerShell trên irc.freenode. net

  4. podcast PowerShell - PowerScripting.net và Get-Scripting.blogspot.com

Đối với môi trường kiểu IDE, bạn có PowerShell Analyzer (miễn phí) và PowerGUI (miễn phí), PowerShell Plus (thương mại), PrimalScript (thương mại) và Trình chỉnh sửa Script quản trị (thương mại).

Tôi sử dụng PowerShell cho mọi thứ tôi có thể. Ngay bây giờ, tôi đang xem Psake, một môi trường tập lệnh xây dựng dựa trên PowerShell. Tôi sử dụng nếu để quản lý Active Directory của tôi, Hyper-V, Twitter, một số tự động hóa bàn phím (lưu trữ PowerShell trong một ứng dụng winforms để lấy tổ hợp phím), và một tấn công cụ khác. Một dự án thú vị khác mà tôi phải kiểm tra là PSExpect để thử nghiệm. Tôi cũng sử dụng nó để truy cập cơ sở dữ liệu - theo dõi các thay đổi được thực hiện cho các hàng trong cơ sở dữ liệu bằng các ứng dụng. Nó cũng được tích hợp vào giải pháp giám sát mạng của tôi.

Tôi cũng đang tìm cách sử dụng PowerShell làm công cụ tạo tập lệnh cho một dự án mà tôi đang làm việc.

EDIT: Nếu bạn chỉ học PowerShell, tôi sẽ tập trung vào V1. Khi bạn cảm thấy thoải mái hơn, hãy xem CTP, nhưng quá nhiều có thể thay đổi từ CTP thành những gì thực sự được phát hành dưới dạng V2 để làm cho công cụ học tập của bạn. Phiên bản 2 đã hết và sẵn có từ XP SP3, Server 2003, Vista và Server 2008 và trong hộp dành cho Win7 và Server 2008 R2. Những gì bạn đã học cho V1 sẽ vẫn phục vụ bạn tốt, nhưng bây giờ tôi sẽ tập trung vào V2, vì có một bộ tính năng vượt trội.

Chúc may mắn!

+0

Theo như tôi hiểu, V1 là phiên bản phát triển theo định hướng phát triển hơn trong khi V2 có định hướng CNTT theo cách cho V2, mọi người không phải làm bẩn tay bằng cách mở Visual Studio để tạo các lệnh ghép ngắn phức tạp hơn. – Sung

+0

@Sung V1 chỉ là, bản phát hành đầu tiên. Ý tưởng đằng sau PowerShell đã luôn luôn được để bề mặt các lệnh trong một cách định hướng nhiệm vụ. V2 làm cho chức năng mở rộng dễ dàng hơn nhiều đối với quản trị viên có chức năng nâng cao. –

+0

@Sung Tôi hy vọng sẽ thấy những điều tốt hơn với mỗi bản phát hành! :) –

16

Có một số công cụ PowerShell, ví dụ,

Và nhóm Powershell has a blog.

+0

Bỏ phiếu cho _PowerShell trong Action_ (hoặc là _PowerShell Inaction_?), Nó rất tốt. _Windows PowerShell Cookbook_ cũng là một trong những tốt nhất có, đến vấn đề từ một góc độ rất khác nhau. –

2

Kiểm tra PowerGUI, giao diện PowerShell và trình chỉnh sửa tập lệnh. Tôi chưa sử dụng, nhưng tôi đã xem các video mẫu và trông có vẻ là rất tốt. Ngoài ra, trang web còn lưu giữ một thư viện với các tập lệnh mẫu.

Here là một tham chiếu PowerShell tuyệt vời khác.

0

DNRtv s trên PowerShell và PowerGUI. Ngoài ra còn có .NET Rocks! tập về các công cụ này.

23

Để trả lời từng câu hỏi của bạn.

Nhận v2.0 của CTP. Tôi đã sử dụng phiên bản 1.0 và 2.0 và không tìm thấy bất kỳ sự cố ổn định nào với phiên bản mới hơn và nó có nhiều hơn functionality.

Cách tốt nhất để bắt đầu là tìm hiểu ba lệnh cơ bản và bắt đầu chơi với nó.

Bước 1 - Khám phá các lệnh có sẵn sử dụng Get-Command

Để tìm tất cả các "nhận được" lệnh, ví dụ, bạn chỉ cần gõ:

* Get-Command lấy **

để tìm tất cả các "thiết lập" lệnh, ví dụ, bạn chỉ cần gõ:

* Get-Command bộ **

Bước 2 - Tìm hiểu làm thế nào để sử dụng mỗi lệnh sử dụng Get-Help

Để có được sự giúp đỡ cơ bản về Get-Command loại commandlet:

Get-Help Get-Command

Để có được biết thêm thông tin loại:

Get-Help Get-Command -full

Bước 3 - Khám phá các thuộc tính và phương thức đối tượng bằng cách sử dụng Get-Member

Powershell là một ngôn ngữ kịch bản hướng đối tượng. Mọi thứ đều là một đối tượng .Net đầy đủ với các thuộc tính và phương thức.

Ví dụ để lấy các thuộc tính và phương thức trên đối tượng được phát ra bởi kiểu lệnh Get-Process:

Nhận quy trình | Get-Member

Có một vài khái niệm khác mà bạn cần hiểu như ống và cụm từ thông dụng, nhưng những khái niệm đó đã trở nên quen thuộc nếu bạn đã thực hiện một số tập lệnh.

Tôi đang sử dụng nó để làm gì?

Hai điều:

  1. Processing log file từ một ứng dụng lưới điện phân phối ồ ạt. Đối với điều này nó đã được chứng minh là cực kỳ có giá trị và mạnh mẽ.
  2. Kiểm tra nhanh các lớp .Net.
+0

Tôi thử nghiệm nhanh thứ hai các lớp .NET. Việc có thể khám phá trong một môi trường kịch bản tương tác (REPL) là một ơn trời. Luôn luôn đọc tài liệu quá ... – GlennS

1

CTP PowerShell KHÔNG được hỗ trợ trong môi trường sản xuất và rất nhiều sẽ thay đổi giữa thời điểm hiện tại và thời gian vận chuyển. Tôi khuyên bạn nên theo dõi nhiều blog PowerShell (đừng quên podcast PowerScript). Không thiếu sách hay về chủ đề này. Nếu bạn muốn chi tiêu một chút tiền, SAPIEN Technologies có một số tài liệu học tập theo nhịp độ tự tại www.scriptingoutpost.com. Tôi tin rằng Don Jones đã thực hiện một loạt video đào tạo cho CBT Nuggets. Bạn có thể tìm hiểu thêm tại tập trung công nghệ.

6

Tôi chỉ tìm thấy ebook này miễn phí, liên kết từ blog Windows PowerShell:

Mastering PowerShell

+0

+1 là tài nguyên "Bắt đầu với PowerShell" tuyệt vời! –

1

Tôi nghĩ rằng nhận được vào các thói quen của việc tự động hóa các nhiệm vụ nhỏ là một cách tuyệt vời để rèn luyện bản thân trong PowerShell. Ví dụ, viết một kịch bản throwaway thay vì làm một chút tìm kiếm văn bản xử lý bằng tay. Nó có thể thực sự mất nhiều thời gian hơn vài lần đầu tiên, nhưng khi bạn nhận được nhanh hơn và xây dựng một thư viện các đoạn mã hữu ích mà bạn có thể kết nối với nhau, bạn có thể tiết kiệm cho mình rất nhiều thời gian.

+0

Tôi đồng ý với những suy nghĩ của bạn, vâng, chúng tôi có thể bắt đầu với việc tự động hóa các tác vụ nhỏ trong các hoạt động hàng ngày là một cách tuyệt vời để tự rèn luyện mình trong PowerShell. Điều đơn giản nhất để bắt đầu với việc tìm kiếm IP mà không cần mở dấu nhắc lệnh của bạn. Chúng tôi có thể bắt đầu với bất kỳ trang web đơn giản nào như hướng dẫn PS http://www.powershelltutorial.net/ hoặc computerpeformance.co.uk –

0

Tôi sẽ khởi động nó ngay lập tức. Những gì tôi có nghĩa là bởi on-the-fly là chỉ bắt đầu làm việc trên trường hợp thực sự của bạn và tìm kiếm sự giúp đỡ trên trang web hoặc trang web này để được giúp đỡ nếu bạn không biết phải làm gì. Để chắc chắn, nó sẽ rất có lợi nếu bạn dành chút thời gian để tìm hiểu một số khái niệm cơ bản trước. Đây là những gì có được trên PowerShell.

Tôi có một số bài đăng trên blog trên PowerShell, đặc biệt là 3 sê-ri trên một trường hợp thực mà tôi đã đăng gần đây. Tìm kiếm davidchuprogramming hoặc đi here. Chúc bạn may mắn với hành trình PowerShell của mình.

0

Đối với câu hỏi IDE:

Có một IDE thô sơ mà trên máy tính của tôi ít nhất, đã được cài đặt với PowerShell.

Nhãn được gắn nhãn "WindowsPowerShell ISE" và cho phép bạn thực hiện những việc như có một vài phiên điều khiển và một số tệp tập lệnh mở đồng thời ... một bộ tab cho tập lệnh, một bộ cho phiên điều khiển, vì vậy bạn có thể nhấp lại và khi cần thiết.

0

PowerGUI là một trợ giúp lớn trong và của chính nó. Các tính năng IntelliSense bán cho tôi trên đó, sau đó tôi tìm thấy một số tiện ích hữu ích đó là rất tốt.

Theo như nguồn lực:

ebook miễn phí:

  • Windows PowerShell Cookbook

  • Mastering PowerShell

  • PowerShell Một sâu hơn loo k

Giới thiệu Video:

http://powergui.org/entry.jspa?externalID=2278&categoryID=361

4

Tìm một vấn đề bạn cần phải giải quyết và ngồi xuống và làm điều đó với PowerShell cho đến khi nó cố định.

Đừng bỏ cuộc và làm theo cách khác. Sau đó tìm một cái khác, và cái khác, vv Bạn sẽ mất nhiều thời gian hơn khi bắt đầu, nhưng bạn sẽ xây dựng kiến ​​thức để sử dụng trong tương lai. Cũng như một thư viện kịch bản để kéo từ trong tương lai. Một ngày nào đó bạn sẽ quay lại và nhận ra bây giờ bạn "biết" PowerShell.

Thật tuyệt vời. :)