Windows OS 被管理客户端:如何管理 iTunes 控制功能

  • 上次修改时间: 29 七月, 2009
  • 文章: HT2102
  • 旧文章: 306026

摘要

:此文稿适用于 Microsoft Windows 兼容电脑。有关在 Mac OS X 上管理 iTunes 控制功能的文稿,请阅读文章 HT2653 HT3490。有关通过 iTunes 偏好设置使用 iTunes 家长控制的信息,请阅读文章 HT1904

iTunes 提供家长、企业和教育控制,使系统管理员能够设置内容限制。想要在 Microsoft Windows 上预配置 iTunes 中的家长控制和/或其他控制的客户可参考以下信息。此信息只适用于 iTunes 7.1 或更高版本。

重要信息:以下步骤涉及使用“注册表编辑器”(Regedit) 对 Windows 注册表进行更改。即使您在编辑注册表方面很在行,您也应该在编辑之前备份注册表。在 Regedit 中所犯的错误会导致异常行为,甚至阻碍 Windows 启动。在恢复注册表项之前,这些更改可能致使安装了这些项的软件无法正常工作。

如何在 Windows XP、Windows Vista 和 Windows Server 2003 中备份、编辑和还原注册表
如何在 Windows 2000 中备份、编辑和还原注册表

受影响的产品

用于 Windows 的iTunes 7 , iTunes 8 for Windows, Microsoft Windows Vista

家长控制注册表密钥

Windows 使用注册表管理 iTunes 中的家长控制。家长控制偏好设置存储在两个注册表密钥下:

在 Windows XP 和 32 位 Windows Vista 中:

  • HKEY_LOCAL_MACHINE\Software\Apple Computer, Inc.\iTunes\[SID]\Parental Controls\

  • HKEY_CURRENT_USER\Software\Apple Computer, Inc.\iTunes\Parental Controls\

在 64 位 Windows Vista 中:

  • HKEY_LOCAL_MACHINE\Software\Wow6432Node\Apple Computer, Inc.\iTunes\[SID]\Parental Controls\

  • HKEY_CURRENT_USER\Software\Wow6432Node\Apple Computer, Inc.\iTunes\Parental Controls\

  • [SID] 是用户帐户安全标识符的字符串表示。通常,它显示如下:
    S-1-5-21-1715567821-1202687629-839522115-1003

由于每个帐户都具有不同的 SID,因此 iTunes 能够在 HKEY_LOCAL_MACHINE 中为每位用户存储唯一的家长控制偏好设置。

如果您想指定将由新用户帐户继承的家长控制偏好设置,则可在以下注册表密钥下创建:

在 Windows XP 和 32 位 Windows Vista 中:

  • HKEY_LOCAL_MACHINE\Software\Apple Computer, Inc.\iTunes\Parental Controls\Default\

在 64 位 Windows Vista 中:

  • HKEY_LOCAL_MACHINE\Software\Wow6432Node\Apple Computer, Inc.\iTunes\Parental Controls\Default\

在 iTunes 8.0.2 和更高版本中,如果用户特定的 [SID] 值不存在,则会使用这些注册表密钥下的值。

家长控制偏好设置存储在上述每个注册表密钥下的五个注册表值中。当家长控制已锁定时,iTunes 会使用下列值:

  • HKEY_LOCAL_MACHINE\Software\Apple Computer, Inc.\iTunes\[SID]\Parental Controls\AdminFlags
  • HKEY_LOCAL_MACHINE\Software\Apple Computer, Inc.\iTunes\[SID]\Parental Controls\AdminMoviesLimit
  • HKEY_LOCAL_MACHINE\Software\Apple Computer, Inc.\iTunes\[SID]\Parental Controls\AdminTVShowsLimit
  • HKEY_LOCAL_MACHINE\Software\Apple Computer, Inc.\iTunes\[SID]\Parental Controls\AdminRatingSystemID
  • HKEY_LOCAL_MACHINE\Software\Apple Computer, Inc.\iTunes\[SID]\Parental Controls\AdminGamesLimit


在 iTunes 8.0.2 和更高版本中,如果这些用户特定的 [SID] 值不存在,iTunes 会使用下列值:

  • HKEY_LOCAL_MACHINE\Software\Apple Computer, Inc.\iTunes\Parental Controls\Default\AdminFlags
  • HKEY_LOCAL_MACHINE\Software\Apple Computer, Inc.\iTunes\Parental Controls\Default\AdminMoviesLimit
  • HKEY_LOCAL_MACHINE\Software\Apple Computer, Inc.\iTunes\Parental Controls\Default\AdminTVShowsLimit
  • HKEY_LOCAL_MACHINE\Software\Apple Computer, Inc.\iTunes\Parental Controls\Default\AdminRatingSystemID
  • HKEY_LOCAL_MACHINE\Software\Apple Computer, Inc.\iTunes\Parental Controls\Default\AdminGamesLimit

当家长控制解锁后,iTunes 会使用下列值:

  • HKEY_CURRENT_USER\Software\Apple Computer, Inc.\iTunes\Parental Controls\UserFlags
  • HKEY_CURRENT_USER\Software\Apple Computer, Inc.\iTunes\Parental Controls\UserMoviesLimit
  • HKEY_CURRENT_USER\Software\Apple Computer, Inc.\iTunes\Parental Controls\UserTVShowsLimit
  • HKEY_CURRENT_USER\Software\Apple Computer, Inc.\iTunes\Parental Controls\UserRatingSystemID
  • HKEY_CURRENT_USER\Software\Apple Computer, Inc.\iTunes\Parental Controls\UserGamesLimit

UserFlags 和 AdminFlags 的值

UserFlagsAdminFlags 中存储的值是标志的位屏蔽,定义如下:

kParentalFlags_Locked = 0x00000001
kParentalFlags_DisablePodcasts = 0x00000002
kParentalFlags_DisableMusicStore = 0x00000004
kParentalFlags_DisableSharing = 0x00000008
kParentalFlags_DisableExplicitContent = 0x00000010
kParentalFlags_DisableRadio = 0x00000020
kParentalFlags_RestrictMovieContent = 0x00000040
kParentalFlags_RestrictTVShowContent = 0x00000080
kParentalFlags_DisableCheckForUpdates = 0x00000100
kParentalFlags_RestrictGames = 0x00000200
kParentalFlags_DisableMiniStore = 0x00000400
kParentalFlags_DisableAutomaticDeviceSync = 0x00000800
kParentalFlags_DisableGetAlbumArtwork = 0x00001000
kParentalFlags_DisablePlugins = 0x00002000
kParentalFlags_DisableOpenStream = 0x00004000
kParentalFlags_DisableAppleTV = 0x00008000
kParentalFlags_DisableDeviceRegistration = 0x00010000
kParentalFlags_DisableDiagnostics = 0x00020000
kParentalFlags_AllowITunesUAccess = (1<<18) // (0x00040000) iTunes 8.1 新增

UserMoviesLimit、UserTVShowsLimit、AdminMoviesLimit 和 AdminTVShowsLimit 的值

这些值未以公开方式记录。通常,系统管理员只关心由 UserFlagsAdminFlags 指定的家长控制偏好设置。

UserFlags、UserMoviesLimit 和 UserTVShowsLimit

这些值表示已解锁的家长控制。由于它们位于 HKEY_CURRENT_USER 密钥下,因此随时可由当前用户在无需提高权限的情况下写入。换言之,如果您想防止受限用户修改家长控制,就不应使用这些注册表值。

仅当 HKEY_LOCAL_MACHINE 中没有 AdminFlags 值,或 AdminFlags 值中的 kParentalFlags_Locked 位为 0(表示家长控制已解锁)时,iTunes 才会采纳 UserFlagsUserMoviesLimitUserTVShowsLimitUserRatingSystemIDUserGamesLimit 值。

AdminFlags、AdminMoviesLimit 和 AdminTVShowsLimit

这些值表示已锁定的家长控制。由于它们位于 HKEY_LOCAL_MACHINE 密钥下,因此无法由受限用户修改。当 iTunes 检测到当前用户存在 AdminFlags 值并指明控制已锁定时,就会使用该值并忽略 HKEY_CURRENT_USER 下的任何 UserXXX 值。请注意,如果控制已解锁,则 AdminXXX 值可能无法反映当前的家长控制设置,因为在这种情况下只保留 UserXXX 值。然而,AdminFlags 中的锁定位应始终是正确的。

预配置家长控制

为了预配置家长控制,您必须在 HKEY_LOCAL_MACHINE\Software\Apple Computer, Inc.\iTunes\[SID]\Parental Controls\ 中为每个用户帐户设置三个注册表值。执行此操作的一种方式是使用 iTunes 设置并锁定某个用户的家长控制偏好设置,然后在其他用户帐户安全标识符 (SID) 的注册表密钥下复制该用户的值(假定您不需要设置下列无法从 iTunes 用户界面控制的任一标志)。或者,您也可以使用上文中有关 AdminFlags 值的信息在没有 iTunes 帮助的情况下定义您自己的家长控制值。

如果您要为将来创建的用户帐户和尚未使用的用户帐户预配置家长控制,可以在 iTunes 8.0.2 及更高版本的 HKEY_LOCAL_MACHINE\Software\Apple Computer, Inc.\iTunes\Parental Controls\Default\ 中为 Windows XP 和 32 位 Windows Vista 指定以下值:

HKEY_LOCAL_MACHINE\Software\Apple Computer, Inc.\iTunes\Parental Controls\Default\AdminFlags
HKEY_LOCAL_MACHINE\Software\Apple Computer, Inc.\iTunes\Parental Controls\Default\AdminMoviesLimit
HKEY_LOCAL_MACHINE\Software\Apple Computer, Inc.\iTunes\Parental Controls\Default\AdminTVShowsLimit
HKEY_LOCAL_MACHINE\Software\Apple Computer, Inc.\iTunes\Parental Controls\Default\AdminRatingSystemID
HKEY_LOCAL_MACHINE\Software\Apple Computer, Inc.\iTunes\Parental Controls\Default\AdminGamesLimit

在 iTunes 8.0.2 及更高版本的 HKEY_LOCAL_MACHINE\Wow6432Node\Software\Apple Computer, Inc.\iTunes\Parental Controls\Default\ 中可以为 64 位 Windows Vista 指定以下值:

HKEY_LOCAL_MACHINE\ Wow6432Node\Software\Apple Computer, Inc.\iTunes\Parental Controls\Default\AdminFlags
HKEY_LOCAL_MACHINE\ Wow6432Node\ Software\Apple Computer, Inc.\iTunes\Parental Controls\Default\AdminMoviesLimit
HKEY_LOCAL_MACHINE\ Wow6432Node\ Software\Apple Computer, Inc.\iTunes\Parental Controls\Default\AdminTVShowsLimit
HKEY_LOCAL_MACHINE\ Wow6432Node\ Software\Apple Computer, Inc.\iTunes\Parental Controls\Default\AdminRatingSystemID
HKEY_LOCAL_MACHINE\ Wow6432Node\ Software\Apple Computer, Inc.\iTunes\Parental Controls\Default\AdminGamesLimit

:对于给定的用户帐户,如果 HKEY_LOCAL_MACHINE\Software\Apple Computer, Inc.\iTunes\[SID]\Parental Controls\ 中的帐户特定密钥不存在,将使用 HKEY_LOCAL_MACHINE\Software\Apple Computer, Inc.\Parental Controls\Default 下的密钥。

通常,您需要确保在 AdminFlags 中设置 kParentalFlags_Locked 以防止受限用户修改家长控制。

请注意,iTunes 中没有用来设置以下标志的用户界面支持,而且只有当设置了 kParentalFlags_Locked 时才会在 AdminFlags 中采纳这些标志。这些标志在 UserFlags 中始终被忽略,必须在 AdminFlags 中设置。如上所述,如果 AdminFlags 未锁定,iTunes 就会忽略它们而支持 UserFlags

kParentalFlags_DisableCheckForUpdates = 0x00000100
kParentalFlags_DisableMiniStore = 0x00000400
kParentalFlags_DisableAutomaticDeviceSync = 0x00000800
kParentalFlags_DisableGetAlbumArtwork = 0x00001000
kParentalFlags_DisablePlugins = 0x00002000
kParentalFlags_DisableOpenStream = 0x00004000
kParentalFlags_DisableAppleTV = 0x00008000
kParentalFlags_DisableDeviceRegistration = 0x00010000
kParentalFlags_DisableDiagnostics = 0x00020000

例如,如果您想禁用 MiniStore,就应将 AdminFlags 注册表值设置为 0x00000401(即 kParentalFlags_Locked | kParentalFlags_DisableMiniStore)。

Important: Information about products not manufactured by Apple is provided for information purposes only and does not constitute Apple’s recommendation or endorsement. Please contact the vendor for additional information.