Vanilla Powershell có đủ ngôn ngữ cho quản trị viên Windows & DB Server không?


8

Bản thân một bản cài đặt sạch PowerShell có đủ chức năng để Quản trị môi trường miền Windows và / hoặc Máy chủ SQL không?

Nếu không phải là những gì tốt, miễn phí hoặc trả tiền, các tiện ích bổ sung của bên thứ ba?

Câu trả lời:


8

Để trả lời câu hỏi này, bạn cần phóng to bức tranh lớn hơn và hỏi ý nghĩa của việc quản trị Máy chủ Windows và SQL. Ví dụ, bạn có bao nhiêu thứ khác trong môi trường của mình:

  • Các sản phẩm sao lưu của bên thứ ba như NetBackup hoặc BackupExec
  • Sản phẩm chống vi-rút
  • Công cụ lưu trữ
  • Tường lửa hoặc phần mềm lọc web
  • Cảnh báo phần cứng (như Giám đốc IBM hoặc HP SIM)

Tất cả những điều này đều có cơ chế quản lý riêng và vì PowerShell vẫn còn khá mới, nên không phải tất cả các dịch vụ đều được kích hoạt PowerShell. Hiện tại, bạn có thể cần phải rời khỏi PowerShell để quản lý những thứ như thế.

Mặt khác, không có ngôn ngữ nào khác hoạt động tốt hơn trên tất cả các công cụ Windows đó.

Khi bạn nói "chức năng quản trị máy chủ", điều đó chưa đến từ ngôn ngữ Windows. Trong thế giới * nix, bạn có thể ở trong môi trường tập lệnh, nhưng thế giới Windows chưa hoàn toàn ở đó.


2
Tôi không đồng ý. Tôi nghĩ PowerShell chứa chức năng "quản trị máy chủ" và trong trường hợp có thể thiếu các lệnh ghép cụ thể, nó vẫn có thể tận dụng các ứng dụng bảng điều khiển hiện có, ứng dụng COM và .NET. Một số trong đó sẽ yêu cầu công việc để phát triển giải pháp, nhưng PowerShell càng dài thì càng có nhiều giải pháp tinh tế hơn.
Steven Murawski

Đúng như bạn đã nói, nó vẫn sẽ đòi hỏi công việc để phát triển giải pháp của riêng bạn. Chúng tôi đang hướng đến ngày mà bạn không bao giờ phải rời khỏi PowerShell để thực hiện công việc của mình, nhưng chúng tôi vẫn chưa ở đó, bạn có đồng ý không?
Brent Ozar

Tôi gần hơn nhiều để đồng ý với điều đó. Có thể tôi đã gác máy về ngữ nghĩa, nhưng "để lại" PowerShell cho tôi có nghĩa là để lại trình bao hoặc tập lệnh hoặc máy chủ lưu trữ, điều này không cần thiết. Nếu chúng tôi xác định "rời" PowerShell là bước ra khỏi lệnh ghép ngắn, thì tôi đồng ý. :)
Steven Murawski

Tôi không chắc là tôi đồng ý. Nếu bạn có thể quản trị bằng WSH, Perl hoặc C # (thông qua WMI, API Windows, dlls của bên thứ 3, v.v.) thì bạn có thể thực hiện tương tự trong PowerShell với cùng mã hoặc ít hơn.
Wedge

Phải - bạn không thể quản trị Windows hoàn toàn thông qua bất kỳ ngôn ngữ nào, như tôi đã nói. "Không có ngôn ngữ nào khác hoạt động tốt hơn trên tất cả các công cụ Windows đó." Đó là những gì tôi nói.
Brent Ozar

4

Câu trả lời cho câu hỏi đầu tiên của bạn là "CÓ" vang dội.

Để quản lý một miền Windows hiện có, "vanilla" PowerShell (không có snapins bổ sung) cung cấp hỗ trợ ngoài hộp cho WMI, ADSI, COM và .NET.

Việc quản lý các máy từ xa được xử lý thông qua WMI (hoặc COM / .NET tùy theo trường hợp sử dụng).

Quản lý SQL Server có thể sử dụng các thư viện SMO (xem Phần mở rộng PowerShell của SQL Server để biết ý tưởng). Bạn có thể truy cập dữ liệu qua ADO.NET.

Để trả lời phần thứ hai của câu hỏi của bạn, như thế nào là các addons bên thứ ba tốt, thực sự phụ thuộc vào những gì bạn cần làm. Như John Cook đã đề cập, Tiện ích mở rộng cộng đồng PowerShell là một bổ sung chung tuyệt vời. Có rất nhiều, rất nhiều người khác. PowerShellCommunity.Org có một số tài liệu tham khảo tuyệt vời cho các sản phẩm của bên thứ ba và Codeplex có một số lượng lớn các dự án PowerShell nguồn mở.

Các sản phẩm khác của Microsoft đang thêm hỗ trợ PowerShell (như SQL Server 2008, Exchange, Active Directory, v.v.)

V2 (đang đến gần) chứa một số khả năng công việc từ xa và nền tảng tuyệt vời.


3

Powershell không giao hàng với các công cụ quản trị SQL, mặc dù bạn có thể tiếp tục sử dụng những thứ như osql hoặc isql. Tôi biết có các addins Powershell cho phép bạn "gắn kết" máy chủ SQL và điều hướng nó giống như một hệ thống tệp (giống như các công cụ đăng ký được tích hợp sẵn).


1
Bắt đầu với SQL Server 2008, có các lệnh ghép ngắn PowerShell riêng và nhà cung cấp.
Steven Murawski


1

Tự nó và trên chính bạn, PowerShell là không đủ.

Nhưng PowerShell không đơn độc và bạn cũng vậy. Có những phần mở rộng như John D. Cook đề cập ở trên, cũng như một cộng đồng sôi nổi chia sẻ những gì họ tìm hiểu về nó.

Nó được tạo ra để dễ dàng và liên tục mở rộng và cung cấp cho bạn quyền truy cập vào các đối tượng COM và .NET cần thiết để quản lý bất cứ thứ gì bạn thích.



0

Tôi thực sự thấy snap-in Quest ActiveRoles rất hữu ích để làm việc và quản lý Active Directory. Bạn có thể nhận được snap-in ở đây , nhưng tôi nghĩ rằng bài đăng trên blog này thực hiện một công việc tuyệt vời giải thích nó là gì, làm thế nào để thiết lập nó và làm thế nào để sử dụng nó.


0

Là một DBA trong một môi trường khá lớn, ý kiến ​​của tôi là CÓ. Chúng tôi đã xây dựng toàn bộ khung giám sát và bảo trì MS SQL Server bằng cách sử dụng PowerShell 1.0. Hệ thống này tự động hóa giám sát công suất hàng ngày cũng như tự động hóa bảo trì chỉ số sao lưu, v.v.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.