Azure中Nano Server 1709安装IIS及远程访问、安装报错求助
我来帮你一步步解决这两个棘手的问题——安装包报错和远程访问失败:
一、处理install-nanoserverpackage报错0x800f081e
这个错误代码0x800f081e本质是找不到匹配版本的安装源文件,Nano Server 1709属于Windows Server 2016的半年频道版本,安装组件必须依赖同版本的安装镜像源。按以下步骤操作:
准备匹配的安装源
你需要获取Windows Server 2016 1709版本的ISO镜像,上传到Azure VM的数据磁盘中(可以通过Azure门户的“磁盘”功能附加ISO,或者用PowerShell上传)。挂载镜像并指定源路径
在VM控制台执行以下命令,先挂载镜像(假设ISO挂载后盘符为D):Mount-DiskImage -ImagePath "D:\sources\install.wim"然后查看镜像中的可用索引(确认Nano Server对应的索引):
Get-WindowsImage -ImagePath "D:\sources\install.wim"最后指定源路径重新安装组件(如果是为了装IIS,其实直接安装
Microsoft-NanoServer-IIS-Package更直接,它会自动处理依赖):Install-NanoServerPackage -Name Microsoft-NanoServer-IIS-Package -Source "D:\sources\sxs"注意:
-Source路径要指向镜像里的sxs文件夹,确保路径正确。
二、解决远程访问失败问题
虽然你已经开放了NSG和本地防火墙的5985/5986端口,但WinRM远程访问还需要额外配置,按以下步骤排查:
确认WinRM服务状态
在VM控制台执行:Get-Service WinRM如果服务未运行,启动并设置自动启动:
Start-Service WinRM Set-Service WinRM -StartupType Automatic重新配置WinRM远程监听
执行快速配置命令,自动设置监听规则:winrm quickconfig按照提示输入
Y确认所有配置项,这个命令会自动修复WinRM的监听端口和本地防火墙规则(即使你手动开了端口,也可能存在监听配置缺失)。检查Azure NSG规则细节
- 确认入站规则的源IP范围:如果只允许你的本地IP访问,要确保规则里的源IP是你当前的公网IP,而不是
0.0.0.0/0(虽然后者更宽松,但生产环境不建议) - 确认规则的优先级:不要被其他优先级更高的拒绝规则覆盖
- 确认规则的协议:5985是HTTP,5986是HTTPS,两个端口的规则都要配置
- 确认入站规则的源IP范围:如果只允许你的本地IP访问,要确保规则里的源IP是你当前的公网IP,而不是
配置本地客户端的WinRM信任主机
在你用来远程连接的本地电脑上,执行以下命令(替换成你的VM公网IP):winrm set winrm/config/client '@{TrustedHosts="123.45.67.89"}'这一步是避免因为主机未被信任导致的认证失败。
测试远程连接
在本地执行测试命令,验证WinRM是否连通:Test-WSMan 123.45.67.89 -Port 5985如果返回WinRM的版本信息,说明连接正常,此时可以用
Enter-PSSession -ComputerName 123.45.67.89 -Port 5985 -Credential (Get-Credential)远程登录。
内容的提问来源于stack exchange,提问作者Sam

