Skip to main content

禁止系统自动创建 C$、D$ 等磁盘默认共享

在 Windows Server 2019 中,要禁止系统自动创建 C$D$磁盘默认共享,同时保留 IPC$(用于进程间通信和域认证)和 ADMIN$(用于远程管理),最标准且有效的方法是修改注册表。

Windows 原生机制将“磁盘默认共享”和“管理共享(ADMIN$/IPC$)”视为两类不同的自动共享。通过修改注册表中的 AutoShareServer 键值,可以仅禁用磁盘共享而不影响管理共享。

方法一:修改注册表(推荐,永久生效)

这是微软官方支持的方法,专门用于服务器版本。

  1. 打开注册表编辑器

    • Win + R,输入 regedit,回车。
  2. 定位到以下路径

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters
    
  3. 新建或修改 DWORD 值

    • 在右侧窗口查找名为 AutoShareServer 的项。
    • 如果存在:双击它,将数值数据改为 0
    • 如果不存在:右键点击空白处 -> 新建 -> DWORD (32-位) 值,命名为 AutoShareServer,然后双击将其数值数据设置为 0
    • 注意:确保基数选择为“十六进制”或“十进制”均可,0 就是 0。
  4. 重启服务或服务器

    • 方式 A(重启服务器):最稳妥,重启后生效。
    • 方式 B(重启 Server 服务):无需重启服务器,立即生效。
      • 以管理员身份打开 PowerShell 或 CMD,运行:
      Restart-Service LanmanServer -Force
      
      • 或者在“服务”管理器 (services.msc) 中找到 Server 服务,右键选择“重新启动”。
  5. 验证结果

    • 打开 CMD,输入 net share
    • 你应该能看到 IPC$ADMIN$ 依然存在,但 C$D$ 等磁盘共享已经消失。

方法二:使用 PowerShell 一键执行

如果你希望快速完成操作,可以直接以管理员身份运行以下 PowerShell 脚本:

# 设置注册表键值:禁用磁盘默认共享 (C$, D$ 等)
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" -Name "AutoShareServer" -Value 0 -Type DWord

# 重启 Server 服务使配置立即生效
Restart-Service -Name "LanmanServer" -Force

# 验证共享列表
Write-Host "当前共享列表:" -ForegroundColor Green
net share

重要说明与注意事项

  1. 关于 ADMIN$IPC$ 的保留

    • AutoShareServer = 0 只会阻止系统自动挂载磁盘根目录(如 C$, D$)。
    • ADMIN$ (指向 C:\Windows) 和 IPC$ 是由 LanmanServer 服务的核心逻辑控制的,通常不受 AutoShareServer 影响,会默认保留,以确保域加入、组策略应用和远程管理工具(如 MMC、PsExec)正常工作。
  2. 如果是客户端系统(如 Win 10/11)

    • 上述 AutoShareServer 键值在 Windows 客户端版本(非 Server 版)中通常无效。客户端系统使用的是 AutoShareWks 键值。但你当前使用的是 Server 2019,所以必须使用 AutoShareServer
  3. 临时手动删除(不推荐作为长期方案)

    • 你可以运行 net share C$ /delete 来手动删除,但重启服务器或重启 Server 服务后,系统会根据注册表设置重新创建。因此,修改注册表是根本解决办法。
  4. 安全性提示

    • 隐藏默认共享是安全加固的常见步骤(符合等保或 CIS 基准),可以减少攻击面。
    • 保留 ADMIN$ 意味着管理员仍可通过网络访问系统目录,请确保你的管理员密码足够强壮,并限制了防火墙对 445 端口的访问来源。