能否通过PowerShell自动开启侧载UWP应用的文件系统访问权限?
解决方案:自动开启UWP应用的broadFileSystemAccess权限
一、PowerShell自动配置方案
broadFileSystemAccess的权限状态存储在系统注册表中,可通过修改注册表实现自动开启,步骤如下:
- 获取你的UWP应用的Package Family Name(包家族名)
可以通过PowerShell命令获取已安装应用的包家族名:
Get-AppxPackage | Where-Object { $_.Name -eq "你的应用包名" } | Select-Object PackageFamilyName替换
你的应用包名为实际的应用名称。- 获取你的UWP应用的Package Family Name(包家族名)
- 执行注册表修改命令(需管理员权限)
打开管理员PowerShell,运行以下命令(替换你的包家族名为上一步获取的值):
$regPath = "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\CapabilityAccessManager\ConsentStore\broadFileSystemAccess\你的包家族名" New-Item -Path $regPath -Force | Out-Null Set-ItemProperty -Path $regPath -Name "Value" -Type String -Value "Allow"这条命令会在注册表中创建对应项并将权限设置为允许,无需用户手动进入设置开启。
- 执行注册表修改命令(需管理员权限)
二、注意事项
- 该操作必须以管理员身份执行,普通权限无法修改HKLM下的注册表项。
- 仅适用于Windows 10 1809及以上版本(
broadFileSystemAccess权限从该版本开始支持)。 - 侧载应用需经过合法代码签名:必须是商业签名的应用,否则系统可能会阻止权限自动配置(Windows安全限制)。
三、替代优化方案
如果不想依赖注册表修改,可考虑以下更符合UWP设计规范的方案:
- 使用文件/文件夹选择器:引导用户手动选择需要访问的文件夹,通过这种方式获取的权限无需额外配置,且更贴合Windows隐私模型。
- 针对特定场景使用受限权限:如果仅需访问Documents、Pictures等系统预设文件夹,可直接声明
documentsLibrary、picturesLibrary等权限,这些权限只需在应用清单中声明,无需用户手动开启。
内容的提问来源于stack exchange,提问作者Xie Steven
相关产品推荐
相关产品推荐

