Mô-đun nhập Azure không thành công


18

Tôi đang cố gắng làm việc với mô-đun Windows Azure PowerShell trên Windows 8.1. Tôi đã tải xuống và cài đặt mô-đun Azure và khi bắt đầu, tôi có thể chạy và sử dụng "Windows Azure PowerShell", một PS chỉ tải Azure. Khi tôi chỉ mở một cửa sổ PS đơn giản và thực hiện Nhập mô-đun Azure, nó không thành công với:

import-module : The specified module 'Azure' was not loaded because no valid module file was found in any module directory.

Tôi nghi ngờ rằng nó có liên quan đến các phiên bản powershell hoặc phiên bản 64 \ 32 bit.

Bất cứ ai có bất kỳ kinh nghiệm với điều này?

Câu trả lời:


19

Các nhị phân Windows Azure SDK và các lệnh ghép ngắn PowerShell liên quan đều là 32 bit, đó là lý do tại sao phím tắt "Windows Azure Powershell" luôn khởi chạy trình bao 32 bit.

Bạn có thể nhập mô-đun Azure vào phiên PowerShell hiện có bằng cách tham chiếu đường dẫn hệ thống tệp đến tệp kê khai mô-đun:

Import-Module "C:\Program Files (x86)\Microsoft SDKs\Windows Azure\PowerShell\Azure\Azure.psd1"

[Cập nhật] Trong Azure mới nhất, sử dụng

Import-Module "C:\Program Files (x86)\Microsoft SDKs\Azure\PowerShell\ServiceManagement\Azure\Azure.psd1"

Để chỉ truy cập mô-đun theo tên, bạn sẽ cần đưa vị trí của mô-đun vào PSModulePathbiến môi trường (ở đây chi tiết rõ ràng, dành cho nhà phát triển):

$oldPSModulePath = [Environment]::GetEnvironmentVariable("PSModulePath")

$azureModulePath = "C:\Program Files (x86)\Microsoft SDKs\Windows Azure\PowerShell\"

$newPSModulePath = $oldPSModulePath,$azureModulePath -join ";" 
[Environment]::SetEnvironmentVariable("PSModulePath",$newPSModulePath)

Và một biểu thức tốc ký cho quyền hạn của bạn

$env:PSModulePath += ";C:\Program Files (x86)\Microsoft SDKs\Windows Azure\PowerShell\"
Import-Module Azure # <-- Now you can do this!

Bạn có thể bao gồm những điều trên trong hồ sơ PowerShell của bạn


2
Cảm ơn, nó cũng hoạt động với PS 64 bit. Có cách nào để làm cho phím tắt hoạt động trong PS 64 bit không?
itaysk

2
Đối với tôi, lệnh tôi phải chạy là: Mô-đun nhập "C: \ Chương trình tệp (x86) \ Microsoft SDKs \ Azure \ PowerShell \ ServiceQuản lý \ Azure \ Azure.ype1"
Kai G

7

Nếu bạn vừa cài đặt Azure PowerShell SDK, thì hãy khởi động lại máy tính trước. Yêu cầu khởi động lại sau khi cài đặt, nếu không ngoại lệ này sẽ bị ném.


1
Đó chính xác là nó !!!
Luis Gouveia

1

Trong Windows 10, đường dẫn đã thay đổi. Xem phiên bản chính xác dưới đây:

$oldPSModulePath = [Environment]::GetEnvironmentVariable("PSModulePath")
$azureModulePath = "C:\Program Files (x86)\Microsoft SDKs\Azure\PowerShell\ServiceManagement"
$newPSModulePath = $oldPSModulePath,$azureModulePath -join ";" 

1

Đối với mô-đun chế độ Azure Resource Manager (2015/09/11), hãy sử dụng như sau:

import-module "C:\Program Files (x86)\Microsoft SDKs\Azure\PowerShell\ResourceManager\AzureResourceManager\AzureResourceManager.psd1"

0

Đồng thời thử chạy trình cài đặt với tư cách Quản trị viên, bằng cách nhấp chuột phải vào trình cài đặt có thể thực thi và chọn Chạy với tư cách Quản trị viên. Sau khi hoàn thành, khởi động lại. Bạn cũng có thể chạy nhập như đã nêu ở trên nhưng bạn không cần phải làm điều đó với các trình cài đặt mới hơn.


0

Tùy thuộc vào phiên bản SDK mà bạn đã cài đặt, bạn có thể có thư mục "Windows Azure" hoặc chỉ "Azure" trên đường dẫn.

Đối với thiết lập của tôi, tôi sử dụng điều này:

C:\Program Files (x86)\Microsoft SDKs\Azure\PowerShell\ServiceManagement\Azure

0

Đối với AzureRM 4.2.1 (tại thời điểm trả lời này). Đường dẫn mô-đun của nó khác với trường hợp của tôi

$env:PSModulePath += ";C:\Program Files\WindowsPowerShell\Modules\"
Import-module AzureRM

Tôi đã sử dụng nó trên máy x64, hệ điều hành windows 10.

bạn có thể cần các chính sách Thực thi vì powershell yêu cầu xác nhận trước khi nhập các mô-đun ở đây là liên kết để thực hiện dầu.


0

Tôi có vấn đề chính xác được liệt kê trong câu hỏi. Nhưng tôi đang sử dụng Powershell Core. Triệu chứng của tôi hơi khác một chút (và rất khó hiểu)

Import-Module : Could not load file or assembly 'System.Windows.Forms,
Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'. The system
cannot find the file specified.

Sau một vài lần dayslang thang trong bóng tối, tôi thấy vấn đề này trên github cho Powershell Core: https://github.com/PowerShell/PowerShell/issues/4090 và chôn sâu trong đó là một bình luận từ một người dùng ẩn danh. Để dí dỏm : @LaurentPrat how are you importing AzureRM on linux? O_O you are supposed to load azurerm.netcore. Trong khi các cuộc thảo luận là về linux, việc thực hiện khoảnh khắc bóng đèn là đủ. Có các mô-đun mới cho lõi powershell azure.

Hồ sơ khởi động PS của tôi hiện có tuyên bố này

if ($PSVersionTable.PSEdition -ieq "core") { 
    Import-Module AzureRM.Netcore 
}
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.