AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 34743
Accepted
Matt Rogish
Matt Rogish
Asked: 2009-07-02 13:57:48 +0800 CST2009-07-02 13:57:48 +0800 CST 2009-07-02 13:57:48 +0800 CST

将注册表或 ADM 应用于组策略以登录特定服务器

  • 772

我有一些运行共享应用程序的 Windows 2008 Server 终端服务服务器。不幸的是,为了正确运行该应用程序有一些 HKEY_CURRENT_USER 设置需要在每个用户登录时写入他们的注册表。这些设置会随着时间的推移而改变,所以我不想编辑 C:\Users\Default\NTUser.dat; 我希望它们通过 Active Directory 应用。

我已经确定了适当的条目并将它们导出为注册表文件,并将它们另外转换为 ADM。我想配置 Active Directory 组策略的某些部分,以将 .REG 或 ADM 作为登录脚本(适用于所有用户)加载到仅这些服务器(服务器位于它们自己的 OU 中)。

我怎样才能做到这一点?我在 OU 中创建了一个策略,但在其他方面被难住了;我试图将 ADM 加载到 GPO 管理编辑器中,但它似乎没有做任何事情......

也许它是“活动设置”(为所有现有用户和所有新用户添加 HKCU 键和值的最佳方式?)和环回处理(http://support.microsoft.com/kb/231287)的某种组合,但我知道GPO 非常有限。

windows-server-2008 group-policy active-directory windows-registry
  • 3 3 个回答
  • 8348 Views

3 个回答

  • Voted
  1. Best Answer
    Evan Anderson
    2009-07-02T15:07:09+08:002009-07-02T15:07:09+08:00

    您是说只有在用户登录某些计算机时才希望将用户设置应用于用户?听起来很难吧?这一点都不难。这听起来像是环回组策略处理的工作!

    假设如下:

     [Domain] mydomain.com.org.net.local
      |
      |--[OU] Special Computers
      |   |
      |   |-- [Computer] COMPUTER 1
      |   |
      |   |-- [Computer] COMPUTER 2
      |   ...
      |
      |--[OU] User Accounts
          |
          |--[User] Bob
          |
          |--[User] Alice
          ...
    

    您想为登录到“特殊计算机”OU 中计算机的所有用户应用用户设置(例如运行登录脚本或应用其他类型的 GPO 用户设置)。但是,当他们登录到位于其他 OU 中的计算机时,您不希望应用这些特殊设置。

    创建 GPO 并将其链接到“特殊计算机”OU。在该 GPO 中指定要应用的所有与用户相关的设置。

    (“但是等等,Evan!用户的帐户对象不在 'Special Computers' OU 中!”是的。我知道。留在我这里。我遇到的大多数 AD 管理员不了解环回策略处理和害怕。我见过可怕的黑客攻击,比如创建辅助用户帐户供用户在使用“特殊计算机”时登录等等......>颤抖<)

    在您创建的 GPO 中,进入 COMPUTER“管理模板”、“系统”、“组策略”,找到设置“用户组策略环回处理模式”。启用此设置。如果您希望忽略所有用户的“正常”组策略设置并且仅应用此新 GPO 中的用户策略设置,请在“模式”框中选择“替换”。如果您希望 GPO 中的用户设置在其所有正常用户设置都已应用后应用,请选择“合并”。

    我的观点是,这比登录脚本中涉及“If computer == blah”的“hacks”要干净得多。


    我对您的建议是使用组策略首选项 (GPP) 注册表设置而不是登录脚本来执行您正在执行的操作。它将应用一次,将默认设置保留在用户的注册表中,但用户将来可以自由更改设置,而不会在每次登录时“破坏”它们。

    如果这些是 Windows Server 2008 机器,就像你的标签说的那样,那么真的没有理由不使用 GPP 注册表设置。请查看下面的文章以了解更多详细信息。这是 W2K8 的一个非常好的功能,您应该利用它。

    http://www.microsoft.com/downloads/details.aspx?FamilyID=42e30e3f-6f01-4610-9d6e-f6e0fb7a0790&DisplayLang=en

    http://blogs.technet.com/grouppolicy/archive/2008/03/04/gp-policy-vs-preference-vs-gp-preferences.aspx

    • 2
  2. Izzy
    2009-07-02T14:01:36+08:002009-07-02T14:01:36+08:00

    您需要决定要走哪条路线 - ADM 或 Registry。

    您可以通过 GPO 设置自定义注册表设置。编辑 GPO,然后浏览到此部分:

    计算机配置 -- 策略 -- Windows 设置 -- 安全设置 -- 注册表

    您在此处定义的任何键组合都将应用于该 OU 中的机器。

    此外,您应该更改 GPO 的Scope 过滤以应用于您感兴趣的 AD 中的对象。它可能已默认为Authenticated Users。如果那是对的,那就离开吧。我怀疑您将需要更改它,以便将其应用于Domain Computers。不用担心,它只适用于该OU中的域计算机,以及所有子OU

    编辑:

    已编辑以提供如何在 GPO 中导入批处理文件注册表和登录脚本。

    因此,首先您需要创建一个批处理文件,该文件将导入您想要的注册表项。

    • 创建一个批处理文件,并给它起任何你喜欢的名字,例如 import_reg_keys.bat

    • 编辑批处理文件,并以最基本的形式使用以下命令:

      reg.exe 添加 HKCU\blah\blah\blah /v MyNewSetting /t REG_SZ /d 1 /f

    将 blah\blah\blah 替换为您感兴趣的子项,将 MyNewSetting 替换为值,将 REG_SZ 替换为值的类型(REG_SZ、REG_MULTI_SZ、REG_EXPAND_SZ、REG_DWORD、REG_BINARY、REG_NONE),然后将 1 替换为您的任何数据想要你的新 reg 值。

    • 保存批处理文件,并将其复制到域 NETLOGON 共享 (\\yourdomain.loc\netlogon) - 您需要域管理员权限才能执行此操作。

    • 编辑您已经创建的 GPO,然后导航到用户配置 -- 策略 -- Windows 设置 -- 脚本

    • 双击右侧的 LOGON 项,单击 ADD,单击 BROWSE,在顶部的地址栏中输入 \\mydomain.loc\netlogon 并回车,然后从列表中选择您的批处理文件

    • 点击打开,点击确定,点击确定,关闭GPO编辑器

    • 返回 GPO Management MMC,双击新 GPO,然后在右侧选择 SCOPE 选项卡。

    • 在底部显示过滤的地方,确保您只有域计算机(您的域\域计算机)和经过身份验证的用户。如果您想在将来进一步锁定它,这就是您必须应用此政策的申报人或事物的方式。

    • 给我买啤酒

    将批处理文件放在 netlogon 共享中(而不是直接在 GPO 中设置)的好处是编辑起来要快得多。

    PS。将有问题的服务器移动到该 OU(应该是您的成员服务器 OU 的子 OU)

    • 1
  3. Izzy
    2009-07-02T15:03:45+08:002009-07-02T15:03:45+08:00

    这是另一种方法:

    您是否已经为您的用户准备了登录脚本?(在配置文件下的 AD 中的用户对象中定义)。如果这样做,则将这些行添加到该脚本中:

    if "%computername%"=="MyServer001" reg.exe 添加 HKCU\blah\blah\blah /v MyNewSetting /t REG_SZ /d 1 /f

    if "%computername%"=="MyServer002" reg.exe 添加 HKCU\blah\blah\blah /v MyNewSetting /t REG_SZ /d 1 /f

    为用户登录时需要此密钥的每个服务器添加尽可能多的这些行。这样,每次用户登录时,脚本将查看他们正在登录的机器名称,并且仅在此情况下应用注册表更改machine 匹配列出的其中之一。如果他们登录到自己的工作站,机器名称将不在列表中,并且无法获取密钥

    • 1

相关问题

  • 在登录期间打开 URL 的现代方法是什么?

  • 什么可能导致 IIS7 拒绝绑定到不允许导出私钥的证书?

  • 从 2003 年迁移到 2008 年 Microsoft 群集技术

  • 有什么理由使用 Windows Server 2003 而不是 Server 2008?

  • 是否可以在单个 W2008 服务器上安装 Exchange Server?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    从 IP 地址解析主机名

    • 8 个回答
  • Marko Smith

    如何按大小对 du -h 输出进行排序

    • 30 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    Windows 中执行反向 DNS 查找的命令行实用程序是什么?

    • 14 个回答
  • Marko Smith

    如何检查 Windows 机器上的端口是否被阻塞?

    • 4 个回答
  • Marko Smith

    我应该打开哪个端口以允许远程桌面?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    MikeN 在 Nginx 中,如何在维护子域的同时将所有 http 请求重写为 https? 2009-09-22 06:04:43 +0800 CST
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    0x89 bash中的双方括号和单方括号有什么区别? 2009-08-10 13:11:51 +0800 CST
  • Martin Hope
    kch 如何更改我的私钥密码? 2009-08-06 21:37:57 +0800 CST
  • Martin Hope
    Kyle Brandt IPv4 子网如何工作? 2009-08-05 06:05:31 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve