我正在尝试连接以使用Powershell连接到Azure文件共享,但它失败了,所以我将通过每个命令尝试找到问题。在线搜索,似乎我需要验证端口445是否已打开(我的Bitdefender防火墙已配置为允许)。
我在Azure Powershell中运行此命令来测试:
Test-NetConnection -Port 445 -ComputerName https://myazurefileshare.file.core.windows.net
错误是:
然后我选择了更通用的东西,使用端口80作为测试(对不起微软):
Test-NetConnection -Port 80 -ComputerName https://www.microsoft.com
令人惊讶的是,这也失败了:
警告:https://www.microsoft.com的名称解析失败
我是Powershell的新手,所以请原谅任何RTFM疏忽。但是,任何人都可以对此有所了解吗?我只是想验证端口445是否打开。
原始错误正确发生是因为您输入了错误的参数-ComputerName
格式以供Test-NetConnection使用。 ComputerName
指定目标计算机的域名系统(DNS)名称或IP地址。
在这种情况下,计算机名称应为存储帐户的FQDN。所以你可以使用Test-NetConnection -Port 445 -ComputerName somestoragexxx.file.core.windows.net
验证端口445。
在我这边测试结果,名称解析工作成功,但TCP 445连接失败。
与the script MS提供的测试结果相同。
事实证明这个港口毕竟是开放的(所以后来提出另一个问题......)。 Microsoft有一个故障排除脚本,在安装驱动器方面比Azure文件“连接”链接中提供的默认脚本更强大,请参阅Troubleshooting tool for Azure Files mounting errors on Windows。
为了以下示例的目的,我将AzFileDiagnostics.ps1保存到了我的桌面。遗憾的是,它不会在没有解锁的情况下运行,因为它没有经过数字签名,因此我必须运行的完整Powershell脚本是:
> Unblock-File -Path "C:\Users\MyName\Desktop\AzFileDiagnostics.ps1"
> C:\Users\MyName\Desktop\AzFileDiagnostics.ps1
然后,脚本会显示您需要完成的各种参数提示,例如存储名称等。但是,密钥检查是端口检查 - 这对我来说没问题:
======Validate Storage Account Name resolution [OK]: Storage Account Name myazurefileshare.file.core.windows.net is resolved to 51.140.232.124 ======Validate port 445 reachability over Storage Account IP 51.140.232.124 [OK]: Connection attempt succeeds - Port is open [OK]: Validation steps do not return any errors