普通网友 2025-11-11 05:50 采纳率: 98.4%
浏览 8
已采纳

Win11连接共享打印机失败,提示“拒绝访问”如何解决?

在Windows 11中连接局域网共享打印机时,常出现“拒绝访问”的错误提示,导致无法正常添加打印机。该问题多因系统默认关闭了SMB 1.0协议、凭据管理配置不当或目标主机的共享权限设置不完整所致。即使输入正确的管理员账号密码,仍可能因本地安全策略限制而被拦截。此外,Windows更新后可能重置网络发现和文件共享设置,进一步加剧此问题。需检查共享打印机主机的权限配置、启用必要服务,并确保客户端与主机处于同一工作组并开启共享兼容模式。
  • 写回答

1条回答 默认 最新

  • 玛勒隔壁的老王 2025-11-11 09:01
    关注

    一、问题背景与现象分析

    在Windows 11环境中,用户尝试通过局域网添加共享打印机时常遇到“拒绝访问”的错误提示。该问题并非单一因素导致,而是由多个系统级配置、安全策略及网络协议状态共同作用的结果。典型表现包括:输入正确的凭据后仍无法连接、打印机主机可见但无法枚举共享资源、或添加过程中提示“0x80070035 找不到网络路径”等。

    常见错误代码可能原因
    0x80070005权限不足或UAC限制
    0x80070035SMB协议未启用或网络发现关闭
    0x0000011bWindows更新后SMB签名强制策略变更

    二、基础排查流程(由浅入深)

    1. 确认客户端与打印机主机处于同一子网且可互相ping通。
    2. 检查网络类型是否为“专用网络”,而非“公共网络”。
    3. 确保双方计算机名不冲突,并处于同一工作组(默认WORKGROUP)。
    4. 在目标主机上验证共享文件夹是否可被访问(如\\PRINTSERVER\ShareTest)。
    5. 查看事件查看器中Security日志是否有登录失败记录(Event ID 4625)。
    6. 确认防火墙未阻止File and Printer Sharing相关规则。
    7. 检查Print Spooler服务是否正在运行。
    8. 确认Guest账户状态及本地安全策略中的网络访问权限。
    9. 验证DNS解析是否正常,避免NetBIOS名称解析失败。
    10. 重启路由器或交换机以排除ARP缓存异常。

    三、核心技术成因剖析

    
    # PowerShell命令检测SMB协议状态
    Get-WindowsOptionalFeature -Online -FeatureName SMB1Protocol
    
    # 查看当前SMB连接状态
    Get-SmbConnection
    
    # 检查本地安全策略中有关网络访问的设置
    secedit /export /cfg current_policy.cfg
    # 关注项:Network access: Restrict anonymous access to Named Pipes and Shares
    

    Windows 11默认禁用SMB 1.0/CIFS文件共享支持,而部分老旧打印设备驱动依赖此协议进行初始化通信。此外,自2023年起微软默认启用SMB Signing强制策略,若客户端与主机协商失败,则连接将被主动终止。

    四、解决方案层级结构(Mermaid流程图)

    graph TD A[开始] --> B{能否Ping通打印机主机?} B -- 否 --> C[检查IP配置/防火墙] B -- 是 --> D{网络发现已开启?} D -- 否 --> E[启用网络发现和文件共享] D -- 是 --> F{SMB 1.0是否启用?} F -- 否 --> G[启用SMB 1.0客户端/服务器] F -- 是 --> H{凭据管理器有正确条目?} H -- 否 --> I[添加Windows凭据:\\HOSTNAME] H -- 是 --> J{本地安全策略允许匿名枚举?} J -- 否 --> K[修改"RestrictAnonymous"策略] J -- 是 --> L[尝试添加打印机]

    五、高级配置与组策略干预

    对于企业环境,建议使用组策略统一管理以下关键设置:

    • Computer Configuration → Administrative Templates → Network → Lanman Workstation → "Enable Insecure Guest Logons" = Enabled
    • Computer Configuration → Windows Settings → Security Settings → Local Policies → Security Options:
      • Accounts: Limit local account use of blank passwords to console logon only → Disabled
      • Network access: Do not allow anonymous enumeration of SAM accounts → Disabled
      • Microsoft network client: Digitally sign communications (always) → Disabled(测试阶段)

    六、自动化诊断脚本示例

    # AutoDiagnose_PrinterAccess.ps1
    $HostName = Read-Host "请输入打印机主机名"
    $TestPath = "\\$HostName\print$"
    
    if (-not (Test-NetConnection $HostName -Port 445).TcpTestSucceeded) {
        Write-Warning "端口445不可达,请检查防火墙或主机在线状态"
    }
    
    try {
        $null = Get-Item $TestPath -ErrorAction Stop
        Write-Host "共享访问成功" -ForegroundColor Green
    } catch {
        Write-Warning "访问被拒,错误: $_"
    }
    
    # 输出SMB协议状态
    Get-SmbServerConfiguration | Select EnableSMB1Protocol, EnableSMB2Protocol
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 已采纳回答 11月12日
  • 创建了问题 11月11日