You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用PowerShell调用New-SmbShare创建文件夹共享时报找不到文件错误

New-SmbShare 报错“系统找不到指定文件”解决思路

该报错的核心原因是你传入 -Path 参数的文件夹路径在当前执行环境中不存在,New-SmbShare 本身不具备自动创建目标文件夹/父目录的能力,必须目标路径真实存在才能完成共享创建。

  • 先验证拼接后的路径是否正确
    你用了多个变量拼接路径,很容易出现变量为空、拼接格式错误的问题,在执行New-SmbShare前添加一行代码输出实际拼接结果:

    Write-Host "当前拼接的目标路径为: $($StandardPath)$($Username)\home\"
    

    核对输出的路径是否和你预期的目标文件夹一致,检查是否存在多写斜杠、漏写斜杠、$StandardPath 或 $Username 变量为空的情况。

  • 验证目标路径是否真实存在
    把上一步输出的路径粘贴到资源管理器地址栏手动访问,也可以直接在PowerShell中执行校验命令:

    Test-Path -Path "$($StandardPath)$($Username)\home\" -PathType Container
    

    如果返回结果为 False,就说明该文件夹确实不存在,需要先创建文件夹再创建共享。

  • 补充创建目标文件夹的逻辑
    在New-SmbShare执行前增加文件夹不存在则自动创建的代码,修改后的完整逻辑参考:

    $targetPath = "$($StandardPath)$($Username)\home\"
    # 路径不存在则创建
    if (-not (Test-Path -Path $targetPath -PathType Container)) {
        New-Item -Path $targetPath -ItemType Directory -Force | Out-Null
    }
    # 再创建共享
    New-SmbShare -Name "$($Username) Share" -Path $targetPath -ChangeAccess "Labor\$($Username)"
    
  • 排查其他可能问题

    1. 确认运行PowerShell的身份对目标路径有读取、写入权限
    2. 确认$Username变量值不包含/ \ : * ? " < > | 等Windows路径禁用的特殊字符
    3. 如果目标路径是远程存储路径,确认本地可以正常访问该远程路径

内容的提问来源于stack exchange,提问作者Forestbird

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 10:09:00