我尝试运行一个 PowerShell 脚本,该脚本使用 Microsoft 提供的示例调用 Get-AzKeyVaultSecret,但不断收到错误消息,指出“不知道这样的主机”。
一般来说,错误很简单,但事实上我在调用期间没有指定主机地址或 IP,这使得错误看起来与实际问题非常抽象。
Line |
14 | Get-AzKeyVaultSecret -VaultName $KeyVaultName -Name $SecretName
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| No such host is known.
我已经尝试了几乎所有我能想到的方法来使其正常工作,这就是我每次收到的错误。我已检查我是否在 Azure 访问策略中拥有适当的权限,还检查了我是否具有访问控制角色等。所以我不明白该错误消息。
我之前曾使用 AzureRM Powershell 模块尝试过此操作,但意识到它很快就会在几年内被弃用;我选择走这条路,但它似乎不起作用。
没有这样的主机到底意味着什么以及如何解决该问题?我在 PowerShell 7 下运行
因为关于发布脚本其余部分的第一条评论;我将补充一点,当直接在 PowerShell 窗口中调用该方法时,我收到了相同的错误。
PS C:\SQL Scripts\PowerShell> Get-AzKeyVaultSecret -VaultName 'myKeyVaultName' -Name 'myKeyVaultSecretName'
Get-AzKeyVaultSecret: No such host is known.
最佳答案
简短版本答案: 在政府、教育等私营部门工作时需要指定环境。
长答案/解释: @Ked Mardemootoo 的评论让我从不同的角度看待这个问题。在某种程度上,该问题被确定与网络有关,并且可能可以说是“DNS”问题,但不是 DNS 问题,因为它与发出调用的系统有关。
Get-AzKeyVaultSecret 模块在后台执行一些工作,其中包括使用提供的凭据通过 Connect-AzAccount 模块进行连接来解析所请求资源的 FQDN
在大多数常见情况下,这些请求会路由到公共(public)网络上的 Azure,但规模相对较小,例如 Azure 位于私营部门/网络上。教育、政府等。需要指定环境的附加参数开关。
连接 AzAccount
连接公共(public)领域内的用户
Connect-AzAccount -环境
连接使用环境开关指定的私有(private)域/扇区内的用户
如果您有 Azure 帐户,这两种方法都会让您登录到 Azure 平台,但如果您在私营部门并尝试随后使用模块来获取信息或资源而无需指定环境;您将收到没有这样的主机已知
该错误有点神秘和抽象,在我看来应该更具体,以便更好地向用户提供实际问题的线索。例如找不到资源或类似的东西。
一旦我指定了环境(在我访问的文档中不是最前面和中心的东西);该模块按预期运行。
希望这些信息可以帮助其他人避免陷入这个默默无闻的深渊。
关于azure - 为什么 Get-AzKeyVaultSecret 返回 "No Such Host Is Known"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72481715/