Windows 多用户之间如何共享软件设置数据 (AppData) ? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Biwood
V2EX    Windows

Windows 多用户之间如何共享软件设置数据 (AppData) ?

  •  
  •   Biwood 2022-08-07 11:54:57 +08:00 3379 次点击
    这是一个创建于 1241 天前的主题,其中的信息可能已经有所发展是发生改变。

    我的 Windows10 现在有两个用户,用户 A 和用户 B ,用户 A 是管理员账户,安装了一些软件可以多用户共用。用户 B 是普通账户,虽然可以直接打开用户 A 安装的软件,但是设置都是全新的。我查了下,用户 A 的应用设置数据应该都在 C:\Users\UserA\AppData\Local 这个目录下,请问有什么策略可以把这里的数据直接共享给其他用户吗?

    12 条回复    2022-08-08 09:16:37 +08:00
    singerll
        1
    singerll  
       2022-08-07 12:56:53 +08:00 via Android
    把软件装到非 user 文件夹
    codehz
        2
    codehz  
       2022-08-07 13:08:26 +08:00 via iPhone
    你要用来隔离就不能这样用,不然普通用户可以一键获得管理员用户的权限)
    Biwood
        3
    Biwood  
    OP
       2022-08-07 13:50:45 +08:00
    @singerll 安装位置一般是 C:\Program Files 目录,这个是没问题的,主要是配置数据默认被隔离了

    @codehz 当然,也不是让其他人直接访问管理员的数据,而是提供一个公共访问的根目录,类似 Linux 中的 /etc 或者 /usr/share
    codehz
        4
    codehz  
       2022-08-07 14:05:04 +08:00 via iPhone
    @Biwood 程序自己决定写到 appdata 的话基本没啥官方方法去让他写别的地方,可以考虑用 portable 版
    h404bi
        5
    h404bi  
       2022-08-07 14:07:25 +08:00
    你想共享的这些数据是 immutable 的还是 B 可写的,如果是可写的这样用有风险,B 可以写入危险数据让管理员 A 进行交互。如果是 immutable 的,安装时把共享的数据放在 %ProgramData% 下就行,不过这取决于软件对这个的支持。
    Biwood
        6
    Biwood  
    OP
       2022-08-07 14:08:12 +08:00
    @codehz 嗯,目前有部分用 portable 版可以正常用,其他的得去找找官方有没有提供,实在不行只能手动复制一份 AppData 过去了
    mcone
        7
    mcone  
       2022-08-07 14:28:26 +08:00
    管理员把对应的 appdata 给 mklink 出去,再 mklink 给对应的用户名下就行了

    不过这样做风险其实挺大的,除非两个用户都是你在用……
    codehz
        8
    codehz  
       2022-08-07 17:38:48 +08:00 via iPhone
    (考虑到某些程序可能是读取环境变量的,所以可以考虑修改环境变量 appdata localappdata 来实现,还不行就得 hook 了(
    hez2010
        9
    hez2010  
       2022-08-07 23:49:58 +08:00 via Android
    全局的程序数据在 C:\ProgramData 这个隐藏文件夹里
    aflynoob
        10
    aflynoob  
       2022-08-08 00:05:57 +08:00 via iPhone
    用软连接映射到 onedrive 。只不过配置时候用不同的用户目录而已,onedrive 记得别放用户目录里了。
    cnbatch
        11
    cnbatch  
       2022-08-08 02:15:24 +08:00
    C:\Users\Public 这个文件夹内的目录及其子目录,是所有用户都能使用的,有写权限。
    基于此,有个思路也许可以试试,可以避免 mklink 到管理员的账户文件夹,但又能大家一起用。

    首先,在 Public 文件夹内创建一个新目录,例如叫做 C:\Users\Public\NewData 。
    接着,把软件在 AppData\Local 的数据文件夹剪切到它里面去。假设原数据是在 C:\Users\UserA\AppData\Local\SoftwareData ,那就把 SoftwareData 转移到 NewData 那里,变成 C:\Users\Public\NewData\SoftwareData 。
    然后使用 mklink ,把 C:\Users\Public\NewData\SoftwareData 软链接到各个用户的 AppData\Local 里面去。

    这样一来,大家都可以共享软件数据,但又能继续隔离权限。
    nothingistrue
        12
    nothingistrue  
       2022-08-08 09:16:37 +08:00
    shell:Common AppData , %ProgramData% , 即 C:\ProgramData ,是放共享程序文件的目录
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3100 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 23ms UTC 12:05 PVG 20:05 LAX 04:05 JFK 07:05
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86