为何Access Based Enumeration在PowerShell中无法工作?(Server2022、VirtualBox)
问题分析与解决步骤
1. 错误原因
你执行Get-SmbShare Install | fl *时出错,核心原因是系统中不存在名为Install的SMB共享。Get-SmbShare命令能正常运行说明SMB服务状态正常,但你指定的共享名称与实际存在的共享列表不匹配。
2. 确认正确的共享名称
先运行不带参数的Get-SmbShare命令,查看系统中所有已存在的SMB共享(比如默认的ADMIN$、C$、IPC$,或是你手动创建的其他共享),找到你要启用ABE的目标共享名称。
示例输出参考:
Name ScopeName Path Description ---- --------- ---- ----------- ADMIN$ * C:\WINDOWS Remote Admin C$ * C:\ Default share IPC$ * Remote IPC
3. 启用Access Based Enumeration(ABE)
找到目标共享名后,执行以下命令启用ABE:
Set-SmbShare -Name "目标共享名" -FolderEnumerationMode AccessBased
比如要给C$共享启用ABE:
Set-SmbShare -Name "C$" -FolderEnumerationMode AccessBased
4. 验证ABE生效状态
运行以下命令查看共享的ABE配置:
Get-SmbShare -Name "目标共享名" | Select-Object Name, FolderEnumerationMode
如果输出中FolderEnumerationMode的值为AccessBased,说明ABE已成功启用。
额外操作提示
- 若需创建新共享并直接启用ABE,可使用
New-SmbShare命令:New-SmbShare -Name "新共享名" -Path "C:\目标文件夹路径" -FolderEnumerationMode AccessBased - ABE生效的前提是:无权限用户对目标文件夹本身没有读取权限,这样才会看不到对应的共享文件夹。
内容的提问来源于stack exchange,提问作者user595332
相关产品推荐
相关产品推荐

