Computer >> Máy Tính >  >> Hệ thống >> máy chủ Windows

Cài đặt Mô-đun PowerShell ở Chế độ Ngoại tuyến (Không cần Truy cập Internet)

Hầu hết các mô-đun PowerShell phổ biến đều được cài đặt trực tuyến từ Thư viện PowerShell chính thức (PSGallery ) kho lưu trữ bằng cách sử dụng Mô-đun cài đặt yêu cầu. Tuy nhiên, bạn sẽ không thể cài đặt mô-đun PowerShell nếu máy tính của bạn nằm trong một mạng bị cô lập hoặc quyền truy cập trực tiếp vào PSRepository bị hạn chế. Điều này cũng đúng khi bạn đang cố gắng cài đặt mô-đun PowerShell trên các máy chủ Windows Server thường bị chặn truy cập Internet trực tiếp. Trong bài viết này, chúng tôi sẽ hướng dẫn cách cài đặt mô-đun PowerShell ngoại tuyến và nhập mô-đun từ máy tính từ xa (ví dụ:khi sử dụng mô-đun PoSh quản lý SQLServer).

Lưu ý rằng không có liên kết trực tiếp để tải xuống mô-đun từ PowershellGallery.com. Thứ duy nhất bạn có thể tải xuống từ trang web là gói NuGet ( .nupkg tập tin). Bạn có thể cài đặt mô-đun PowerShell từ tệp NUPKG, nhưng đây sẽ không phải là một cài đặt mô-đun hoàn chỉnh (vấn đề chính là các phần phụ thuộc không được giải quyết).

Cài đặt Mô-đun PowerShell ở Chế độ Ngoại tuyến (Không cần Truy cập Internet)

Cách cài đặt mô-đun PowerShell trên máy tính ngoại tuyến?

Trước hết, hãy cài đặt mô-đun PowerShell bạn cần trên máy tính có kết nối Internet.

PowerShell phiên bản 5.1 hoặc mới hơn phải được cài đặt trên máy tính:

$PSVersionTable.PSVersion

Đảm bảo rằng mô-đun tồn tại trong PSGallery:

Find-Module –Name *SqlServer*| Select Name, Version, Repository

Cài đặt Mô-đun PowerShell ở Chế độ Ngoại tuyến (Không cần Truy cập Internet)

Tải mô-đun xuống thư mục cục bộ được chỉ định trên máy tính của bạn:

Save-Module –Name SqlServer –Path C:\PS\

Cài đặt Mô-đun PowerShell ở Chế độ Ngoại tuyến (Không cần Truy cập Internet)

Sao chép thư mục vào một máy tính khác mà bạn muốn cài đặt mô-đun.

Hãy xem những thư mục nào mà mô-đun PowerShell được lưu trữ trong:

$env:PSModulePath -split ";"

Cài đặt Mô-đun PowerShell ở Chế độ Ngoại tuyến (Không cần Truy cập Internet)

Như bạn có thể thấy, mô-đun PowerShell nằm trên một trong các đường dẫn sau:

  • C:\Users\username\Documents\WindowsPowerShell\Modules ($Home\Documents\PowerShell\Modules ) - Các mô-đun PowerShell trong thư mục này chỉ khả dụng cho người dùng này (Người dùng hiện tại);
  • C:\Program Files\WindowsPowerShell\Modules ($Env:ProgramFiles\WindowsPowerShell\Modules ) - đường dẫn được sử dụng để cài đặt mô-đun cho tất cả người dùng máy tính (-Scope AllUsers );
  • C:\Windows\system32\WindowsPowerShell\v1.0\Modules - thư mục mặc định cho các mô-đun tích hợp sẵn.

Sao chép mô-đun vào C:\ Program Files \ WindowsPowerShell \ Modules .

Cài đặt Mô-đun PowerShell ở Chế độ Ngoại tuyến (Không cần Truy cập Internet)

Đảm bảo rằng mô-đun SQLServer hiện khả dụng:

Get-Module -Name SQLServer -ListAvailable

Cài đặt Mô-đun PowerShell ở Chế độ Ngoại tuyến (Không cần Truy cập Internet)

Bạn có thể lấy thư mục mô-đun như hình dưới đây:

(Get-Module -ListAvailable SQLServer).path

Cài đặt Mô-đun PowerShell ở Chế độ Ngoại tuyến (Không cần Truy cập Internet)

Hiển thị danh sách các lệnh có sẵn trong mô-đun:

Get-Command -Module SQLServer

Theo cách tương tự, bạn có thể cài đặt bất kỳ mô-đun nào. Tôi thường sử dụng phương pháp này để cài đặt SQLServer, PSWindowsUpdate hoặc PowerCLI cho mô-đun VMWare.

Vì những lý do rõ ràng, việc cài đặt các mô-đun AzureAD và Exchange Online PowerShell trên các thiết bị ngoại tuyến là không hợp lý.

Nhập Mô-đun PowerShell từ Máy tính Từ xa

Nếu không muốn cài đặt mô-đun PowerShell trên tất cả các máy tính, bạn có thể nhập bất kỳ mô-đun nào từ máy tính từ xa bằng PSRemoting:

$session = New-PSSession -ComputerName dub-sql1

Để hiển thị danh sách các mô-đun được cài đặt trên máy tính từ xa:

Get-Module -PSSession $session –ListAvailable

Để nhập mô-đun PowerShell được chỉ định vào máy tính của bạn:

Import-Module -PSsession $session -Name SqlServer

Đừng quên đóng phiên khi bạn kết thúc:

Remove-PSSession $session

Một cách thú vị khác để sử dụng cục bộ mô-đun PowerShell được cài đặt trên máy tính từ xa thông qua Xóa ẩn .

Kết nối với máy tính từ xa bằng Invoke-Command và nhập mô-đun PowerShell bạn muốn:
$session = New-PSSession -ComputerName dub-sql1
Invoke-Command {Import-Module SqlServer} -Session $session

Xuất lệnh ghép ngắn của mô-đun từ phiên từ xa sang mô-đun cục bộ:

Export-PSSession -Session $s -CommandName *-Sql* -OutputModule RemoteSQLServer -AllowClobber

Lệnh tạo mô-đun RemoteSQLServer PowerShell mới trên máy tính của bạn (trong C:\ Program Files \ WindowsPowerShell \ Modules). Bản thân các tệp cmdlet không được sao chép.

Đóng phiên:

Remove-PSSession $session

Sau đó, để sử dụng lệnh ghép ngắn PowerShell từ mô-đun này, bạn chỉ cần nhập chúng vào phiên:

Import-Module RemoteSQLServer

Tất cả các lệnh ghép ngắn mô-đun SQL sẽ khả dụng mà không cần thiết lập kết nối rõ ràng với máy tính từ xa. Cố gắng truy vấn cơ sở dữ liệu MS SQL bằng Invoke-Sqlcmd. Tất cả các lệnh MSSQL đều khả dụng cho đến khi bạn đóng bảng điều khiển PowerShell hoặc xóa mô-đun.