Cài đặt Windows PowerShell SDK
Áp dụng cho: Windows PowerShell 2.0, Windows PowerShell 3.0
Chủ đề sau đây mô tả cách cài đặt PowerShell SDK trên các phiên bản Windows khác nhau.
Cài đặt Windows PowerShell 3.0 SDK cho Windows 8 và Windows Server 2012
Windows PowerShell 3.0 được cài đặt tự động với Windows 8 và Windows Server 2012. Ngoài ra, bạn có thể tải xuống và cài đặt tập hợp tham chiếu cho Windows PowerShell 3.0 như một phần của SDK Windows 8. Các tập hợp này cho phép bạn viết các lệnh ghép ngắn, nhà cung cấp và chương trình lưu trữ cho Windows PowerShell 3.0. Khi bạn cài đặt Windows SDK cho Windows 8, các tập hợp Windows PowerShell sẽ tự động được cài đặt trong thư mục tập hợp tham chiếu, trong \Program Files (x86)\Reference Assemblies\Microsoft\WindowsPowerShell\3.0. Để biết thêm thông tin, hãy xem trang tải xuống Windows 8 SDK. Các mẫu mã Windows PowerShell cũng có sẵn trong kho lưu trữ mẫu powershell-sdk.
Hội đồng tham khảo
Các tập hợp tham chiếu được cài đặt ở vị trí sau theo mặc định: c:\Program Files\Reference Assemblies\Microsoft\WindowsPowerShell\V1.0.
Ghi chú
Không thể tải mã được biên dịch dựa trên cụm Windows PowerShell 2.0 vào bản cài đặt Windows PowerShell 1.0. Tuy nhiên, mã được biên dịch dựa trên cụm Windows PowerShell 1.0 có thể được tải vào bản cài đặt Windows PowerShell 2.0.
Mẫu
Các mẫu mã được cài đặt ở vị trí sau theo mặc định: C:\Program Files\Microsoft SDKs\Windows\v7.0\Samples\sysmgmt\WindowsPowerShell\. Các phần sau đây cung cấp mô tả ngắn gọn về chức năng của từng mẫu.
Mẫu lệnh ghép ngắn
- GetProcessSample01 - Hiển thị cách viết một lệnh ghép ngắn đơn giản để nhận tất cả các quy trình trên máy tính cục bộ.
- GetProcessSample02 - Hiển thị cách thêm tham số vào lệnh ghép ngắn. Lệnh ghép ngắn lấy một hoặc nhiều tên quy trình và trả về các quy trình phù hợp.
- GetProcessSample03 - Hiển thị cách thêm tham số chấp nhận đầu vào từ đường dẫn.
- GetProcessSample04 - Hiển thị cách xử lý các lỗi không kết thúc.
- GetProcessSample05 - Hiển thị cách hiển thị danh sách các quy trình được chỉ định.
- SelectObject - Hiển thị cách viết bộ lọc để chỉ chọn một số đối tượng nhất định.
- SelectString - Hiển thị cách tìm kiếm tệp cho các mẫu đã chỉ định.
- StopProcessSample01 - Hiển thị cách triển khai tham số PassThru và cách yêu cầu phản hồi của người dùng bằng cách gọi đến các phương thức ShouldProcess và ShouldContinue. Người dùng chỉ định tham số PassThru khi họ muốn buộc lệnh ghép ngắn trả về một đối tượng,
- StopProcessSample02 - Hiển thị cách dừng một quy trình cụ thể.
- StopProcessSample03 - Hiển thị cách khai báo bí danh cho tham số và cách hỗ trợ ký tự đại diện.
- StopProcessSample04 - Hiển thị cách khai báo bộ tham số, đối tượng mà lệnh ghép ngắn lấy làm đầu vào và cách chỉ định bộ tham số mặc định sẽ sử dụng.
Mẫu từ xa
- RemoteRunspace01 - Hiển thị cách tạo một runspace từ xa được sử dụng để thiết lập kết nối từ xa.
- RemoteRunspacePool01 - Hiển thị cách xây dựng nhóm runspace từ xa và cách chạy nhiều lệnh đồng thời bằng cách sử dụng nhóm này.
- Serialization01 - Hiển thị cách xem một lớp .NET hiện có và đảm bảo rằng thông tin từ các thuộc tính công khai đã chọn của lớp này được lưu giữ trong quá trình tuần tự hóa/giải tuần tự hóa.
- Serialization02 - Hiển thị cách xem một lớp .NET hiện có và đảm bảo rằng thông tin từ phiên bản của lớp này được lưu giữ trong quá trình tuần tự hóa/giải tuần tự hóa khi thông tin không có sẵn trong các thuộc tính công khai của lớp.
- Serialization03 - Hiển thị cách xem xét một lớp .NET hiện có và đảm bảo rằng các phiên bản của lớp này và các lớp dẫn xuất được khử tuần tự hóa (bù nước) thành các đối tượng .NET trực tiếp.
Mẫu sự kiện
- Event01 - Hiển thị cách tạo lệnh ghép ngắn để đăng ký sự kiện bằng cách bắt nguồn từ ObjectEventRegistrationBase.
- Event02 - Hiển thị cách nhận thông báo về các sự kiện Windows PowerShell được tạo trên máy tính từ xa. Nó sử dụng sự kiện PSEventReceured được hiển thị thông qua lớp Runspace.
Mẫu ứng dụng lưu trữ
- Runspace01 - Hiển thị cách sử dụng lớp PowerShell để chạy lệnh ghép ngắn
Get-Processmột cách đồng bộ. Lệnh ghép ngắnGet-Processtrả về các đối tượng Process cho mỗi tiến trình đang chạy trên máy tính cục bộ. - Runspace02 - Hiển thị cách sử dụng lớp PowerShell để chạy các lệnh ghép ngắn
Get-ProcessvàSort-Objectmột cách đồng bộ. Lệnh ghép ngắnGet-Processtrả về các đối tượng Quy trình cho mỗi quy trình đang chạy trên máy tính cục bộ vàĐối tượng sắp xếpsắp xếp các đối tượng dựa trên thuộc tính Id của chúng. Kết quả của các lệnh này được hiển thị bằng cách sử dụng điều khiển DataGridView. - Runspace03 - Hiển thị cách sử dụng lớp PowerShell để chạy tập lệnh một cách đồng bộ và cách xử lý các lỗi không kết thúc. Tập lệnh nhận được danh sách tên quy trình và sau đó truy xuất các quy trình đó. Kết quả của tập lệnh, bao gồm mọi lỗi không kết thúc được tạo khi chạy tập lệnh, được hiển thị trong cửa sổ bảng điều khiển.
- Runspace04 - Hiển thị cách sử dụng lớp PowerShell để chạy lệnh và cách bắt các lỗi kết thúc được đưa ra khi chạy lệnh. Hai lệnh được chạy và lệnh cuối cùng được truyền một đối số tham số không hợp lệ. Kết quả là không có đối tượng nào được trả về và xảy ra lỗi kết thúc.
- Runspace05 - Hiển thị cách thêm phần đính kèm vào đối tượng LaunchSessionState để lệnh ghép ngắn của phần đính kèm khả dụng khi không gian chạy được mở. Phần đính vào cung cấp lệnh ghép ngắn Get-Proc (được xác định bởi Mẫu GetProcessSample01) được chạy đồng bộ bằng cách sử dụng đối tượng PowerShell.
- Runspace06 - Hiển thị cách thêm mô-đun vào đối tượng LaunchSessionState để mô-đun được tải khi mở không gian chạy. Mô-đun này cung cấp lệnh ghép ngắn Get-Proc (được xác định bởi Mẫu GetProcessSample02) được chạy đồng bộ bằng cách sử dụng đối tượng PowerShell.
- Runspace07 - Hiển thị cách tạo một runspace, sau đó sử dụng runspace đó để chạy đồng bộ hai lệnh ghép ngắn bằng đối tượng PowerShell.
- Runspace08 - Hiển thị cách thêm lệnh và đối số vào quy trình của đối tượng PowerShell và cách chạy các lệnh một cách đồng bộ.
- Runspace09 - Hiển thị cách thêm tập lệnh vào quy trình của đối tượng PowerShell và cách chạy tập lệnh không đồng bộ. Các sự kiện được sử dụng để xử lý đầu ra của tập lệnh.
- Runspace10 - Hiển thị cách tạo trạng thái phiên ban đầu mặc định, cách thêm lệnh ghép ngắn vào LaunchSessionState, cách tạo một runspace sử dụng trạng thái phiên ban đầu và cách chạy lệnh bằng đối tượng PowerShell.
- Runspace11 - Hiển thị cách sử dụng lớp ProxyCommand để tạo lệnh proxy gọi lệnh ghép ngắn hiện có nhưng hạn chế tập hợp các tham số có sẵn. Lệnh proxy sau đó được thêm vào trạng thái phiên ban đầu được sử dụng để tạo một không gian chạy bị ràng buộc. Điều này có nghĩa là người dùng chỉ có thể truy cập chức năng của lệnh ghép ngắn thông qua lệnh proxy.
- PowerShell01 - Hiển thị cách tạo một không gian chạy bị ràng buộc bằng cách sử dụng đối tượng LaunchSessionState.
- PowerShell02 - Hiển thị cách sử dụng nhóm runspace để chạy nhiều lệnh đồng thời.
Mẫu máy chủ
- Host01 - Hiển thị cách triển khai ứng dụng máy chủ sử dụng máy chủ tùy chỉnh. Trong mẫu này, một không gian chạy được tạo sử dụng máy chủ tùy chỉnh, sau đó API PowerShell được dùng để chạy tập lệnh gọi
exit. Sau đó, ứng dụng máy chủ sẽ xem xét đầu ra của tập lệnh và in ra kết quả. - Host02 - Hiển thị cách viết ứng dụng máy chủ sử dụng thời gian chạy Windows PowerShell cùng với việc triển khai máy chủ tùy chỉnh. Ứng dụng máy chủ đặt văn hóa máy chủ sang tiếng Đức, chạy lệnh ghép ngắn
Get-Processvà hiển thị kết quả như bạn thấy bằng cách sử dụng pwrsh.exe, sau đó in ra dữ liệu và thời gian hiện tại bằng tiếng Đức. - Host03 - Hiển thị cách xây dựng ứng dụng máy chủ dựa trên bảng điều khiển tương tác để đọc lệnh từ dòng lệnh, thực thi lệnh và sau đó hiển thị kết quả lên bảng điều khiển.
- Host04 - Hiển thị cách xây dựng ứng dụng máy chủ dựa trên bảng điều khiển tương tác để đọc các lệnh từ dòng lệnh, thực thi các lệnh và sau đó hiển thị kết quả lên bảng điều khiển. Ứng dụng máy chủ này cũng hỗ trợ hiển thị lời nhắc cho phép người dùng chỉ định nhiều lựa chọn.
- Host05 - Hiển thị cách xây dựng ứng dụng máy chủ dựa trên bảng điều khiển tương tác để đọc các lệnh từ dòng lệnh, thực thi các lệnh và sau đó hiển thị kết quả lên bảng điều khiển. Ứng dụng máy chủ này cũng hỗ trợ các cuộc gọi đến máy tính từ xa bằng cách sử dụng các lệnh ghép ngắn
Enter-PsSessionvàExit-PsSession. - Host06 - Hiển thị cách xây dựng ứng dụng máy chủ dựa trên bảng điều khiển tương tác để đọc các lệnh từ dòng lệnh, thực thi các lệnh và sau đó hiển thị kết quả lên bảng điều khiển. Ngoài ra, mẫu này sử dụng API Tokenizer để chỉ định màu của văn bản được người dùng nhập.
Mẫu nhà cung cấp
AccessDBProviderSample01 - Hiển thị cách khai báo lớp nhà cung cấp xuất phát trực tiếp từ lớp CmdletProvider. Nó được bao gồm ở đây chỉ cho đầy đủ.
AccessDBProviderSample02 - Hiển thị cách ghi đè các phương thức NewDrive và RemoveDrive để hỗ trợ các cuộc gọi đến các lệnh ghép ngắn
New-PSDrivevàRemove-PSDrive. Lớp nhà cung cấp trong mẫu này bắt nguồn từ lớp DriveCmdletProvider.AccessDBProviderSample03 - Hiển thị cách ghi đè các phương thức GetItem và SetItem để hỗ trợ lệnh gọi đến các lệnh ghép ngắn
Get-ItemvàSet-Item. Lớp nhà cung cấp trong mẫu này xuất phát từ lớp ItemCmdletProvider.AccessDBProviderSample04 - Hiển thị cách ghi đè các phương thức vùng chứa để hỗ trợ lệnh gọi tới
Copy-Item,Get-ChildItem,New-ItemvàLệnh ghép ngắn Xóa mục. Những phương pháp này nên được triển khai khi kho dữ liệu chứa các mục là vùng chứa. Vùng chứa là một nhóm các mục con dưới một mục cha chung. Lớp nhà cung cấp trong mẫu này xuất phát từ lớp ItemCmdletProvider.AccessDBProviderSample05 - Hiển thị cách ghi đè các phương thức vùng chứa để hỗ trợ lệnh gọi đến các lệnh ghép ngắn
Move-ItemvàJoin-Path. Các phương pháp này nên được triển khai khi người dùng cần di chuyển các mục trong vùng chứa và nếu kho dữ liệu chứa các vùng chứa lồng nhau. Lớp nhà cung cấp trong mẫu này bắt nguồn từ lớp NavigationCmdletProvider.AccessDBProviderSample06 - Hiển thị cách ghi đè các phương thức nội dung để hỗ trợ lệnh gọi tới các lệnh ghép ngắn
Clear-Content,Get-ContentvàSet-Content. Các phương pháp này nên được triển khai khi người dùng cần quản lý nội dung của các mục trong kho dữ liệu. Lớp nhà cung cấp trong mẫu này bắt nguồn từ lớp NavigationCmdletProvider và nó triển khai giao diện IContentCmdletProvider.