如何在 Windows 7 中以编程方式打开/关闭密码保护共享?

mFo*_*not 5 c# network-shares windows-7

让我提前道歉。我已经在这里看到了这个问题,但还没有完全回答。(如何以编程方式打开或关闭密码保护共享?)。如果不简单地提出一个新问题,我无法弄清楚如何再次解决一个问题。如果我应该做一些不同的事情,请告诉我,这样我就不会犯两次同样的错误。

我们正在使用 C# 来编辑网络设置并向 Windows 7 添加 2 个防火墙规则,以用于需要 Windows XP 样式共享的旧应用程序。除了如何“关闭密码保护共享”之外,我们已经弄清楚了所有事情。如果有人发现了这一点,请告诉我。

我已经在调整设置之前和之后导出了整个注册表。使用 Beyond Compare 来定位任何差异,但没有发现任何有用的东西。任何和所有的想法都值得赞赏。

XP1*_*XP1 2

paolo 的回答来自这里: How do I Turn Passed Passed ProtectedSharing on or offprogrammatically?


可能为时已晚:),但希望对其他人有用。

以下步骤对我来说效果很好(它也适用于 W8 消费者预览版)。

将其关闭:

1 - 通过运行启用来宾帐户

网络用户访客/活动:是

2 - 通过运行获取来宾用户 SID,例如:

wmic useraccount 其中 name='guest' 获取 sid

3 - 获得对注册表文件夹 HKLM\SECURITY 的写入权限

4 - 修改以下键,其中$SID是第2点中获得的sid,为:

[HKEY_LOCAL_MACHINE\SECURITY\Policy\Accounts\$SID\ActSysAc]
@=hex(0):41,00,00,00

5-重新启动机器(到目前为止,我还没有找到更好的方法让更改生效)

再次打开它:

[HKEY_LOCAL_MACHINE\SECURITY\Policy\Accounts\$SID\ActSysAc]
@=hex(0):c1,00,00,00

然后重新启动