Azure PowerShell 会话未正确初始化。请导入该模块并再次尝试

问题描述 投票:0回答:1

我正在编写我的第一个powershell脚本,以将数据从CSV加载到Azure存储表。我不知道为什么这行

$storageAccountKey = (Get-AzStorageAccountKey -ResourceGroupName $resourceGroupName -Name $storageAccountName)[0].Value

正在抛出一个错误。

enter image description here

Running Get-Module 得到了这个结果。enter image description here

这是我到现在为止所写的代码的一部分。

# Step 1, Set variables
# Enter Table Storage location data 
$resourceGroupName = "ComputeTesting"
$storageAccountName = 'computetestingdiag'
$tableName = 'strtable'
$dateTime = get-date

# Step 2, Login to your Azure subscription
$sub = Get-AzSubscription -ErrorAction SilentlyContinue
if(-not($sub))
{
    Connect-AzAccount
}

# If you have multiple subscriptions, set the one to use
# Select-AzSubscription -SubscriptionId "<SUBSCRIPTIONID>"

# Step 3, Get the access key for the Azure Storage account
$storageAccountKey = (Get-AzStorageAccountKey -ResourceGroupName $resourceGroupName -Name $storageAccountName)[0].Value

# Step 4, Connect to Azure Table Storage
$storageCtx = New-AzureStorageContext -StorageAccountName $storageAccountName -StorageAccountKey $storageAccountKey
$table = Get-AzureStorageTable -Name $tableName -Context $storageCtx

我检查了一些类似的问题,我知道卸载并重新安装Azure模块可能会有帮助。虽然我还没有试过,但有没有其他的变通方法?任何帮助都会非常有用。

azure powershell azure-powershell
1个回答
1
投票

根据您提供的脚本,您使用的是 AzAzureRM 在同一个PowerShell会话中,模块。这可能会导致冲突。我建议你在一个会话中使用一个模块。

例如

$resourceGroupName = "<>"
$storageAccountName = '<>'
$tableName = '<>'

Connect-AzAccount
$storageAccountKey = (Get-AzStorageAccountKey -ResourceGroupName $resourceGroupName -Name $storageAccountName)[0].Value

$storageCtx = New-AzStorageContext -StorageAccountName $storageAccountName -StorageAccountKey $storageAccountKey
$table = Get-AzStorageTable -Name $tableName -Context $storageCtx

有关如何管理Azure表存储的更多详情,请参见 文件

© www.soinside.com 2019 - 2024. All rights reserved.