我需要将 Mac OS X 上的用户从本地帐户迁移到 AD Mobile 帐户。在执行 MCX 之前,我在 10.6 和 10.7 中执行此操作没有问题。
我有一个脚本删除了本地帐户 dscl 条目并将用户主文件夹设置为适当的权限。用户只需要登录并更新他们的钥匙串密码。
但是,在我开始在我的实验室 Mac 上强制执行 MCS 设置后,我第一次尝试使用网络凭据登录时遇到错误:“无法创建移动帐户创建移动帐户时出现问题”
我在 system.log 中找到了这个:
2 月 7 日 08:22:01 atosmcsmbp17M99 SecurityAgent[7696]:为 luser 设置的用户信息上下文值 2 月 7 日 08:22:01 atosmcsmbp17M99 SecurityAgent[7696]:登录窗口登录继续进行 2 月 7 日 08:22:01 atosmcsmbp17M99 ManagedClient[7695]: MCXCCacheGraph(localhost, dsRecTypeStandard:Computers):记录“localhost”(dsRecTypeStandard:Computers) 干扰计算机缓存。删除此记录以恢复缓存。2 月 7 日 08:22:01 atosmcsmbp17M99 com.apple.loginwindow[7688]: 2012-02-07 08:22:01.826 ManagedClient[7695:1803] MCXCCacheGraph(localhost, dsRecTypeStandard:Computers): 记录 "localhost" (dsRecTypeStandard:计算机)干扰计算机缓存。删除此记录以恢复缓存。2 月 7 日 08:22:01 atosmcsmbp17M99 ManagedClient[7695]:MCX.getComputerInfoFromStartup:) 2 月 7 日 08:22:04 atosmcsmbp17M99 com.apple.loginwindow[7688]: 2012-02-07 08:22:04.596 ManagedClient[7695:1803] MCXCCacheMCXRecordAndGraph(): [localNode createRecordWithRecordType:dsRecTypeStandard:Users name:"luser" ] == 4102(无法创建记录,因为已经存在同名的记录。)2 月 7 日 08:22:04 atosmcsmbp17M99 ManagedClient[7695]:MCXCCreateMobileAccount():创建帐户失败。错误 = 4102(MCXCCacheMCXRecordAndGraph 失败)。清理手机账户记录。2 月 7 日 08:22:04 atosmcsmbp17M99 ManagedClient[7695]:MCXCDeleteAccount():尝试删除用户 ID = 0 Feb 7 08:22:04 atosmcsmbp17M99 ManagedClient[7695]:MCX.createMobileUserAccount:MCXCCreateMobileUserAccount(luser,/Users/luser) == 4102(无法创建记录,因为已经存在同名的记录。) 2 月 7 日 08:22:04 atosmcsmbp17M99 com.apple.loginwindow[7688]: 2012-02-07 08:22:04.662 ManagedClient[7695:1803] MCXCCreateMobileAccount():创建帐户失败。错误 = 4102(MCXCCacheMCXRecordAndGraph 失败)。清理手机账户记录。2 月 7 日 08:22:04 atosmcsmbp17M99 com.apple.loginwindow[7688]:2012-02-07 08:22:04.662 ManagedClient[7695:1803] MCXCDeleteAccount():尝试删除用户 ID = 0 Feb 7 08:22: 04 atosmcsmbp17M99 com.apple.loginwindow[7688]: 2012-02-07 08:22:04.663 ManagedClient[7695:1803] MCX.createMobileUserAccount: MCXCCreateMobileUserAccount( luser, /Users/luser ) == 4102 (无法创建记录,因为一个已经存在同名。)创建帐户失败。错误 = 4102(MCXCCacheMCXRecordAndGraph 失败)。清理手机账户记录。2 月 7 日 08:22:04 atosmcsmbp17M99 com.apple.loginwindow[7688]:2012-02-07 08:22:04.662 ManagedClient[7695:1803] MCXCDeleteAccount():尝试删除用户 ID = 0 Feb 7 08:22: 04 atosmcsmbp17M99 com.apple.loginwindow[7688]: 2012-02-07 08:22:04.663 ManagedClient[7695:1803] MCX.createMobileUserAccount: MCXCCreateMobileUserAccount( luser, /Users/luser ) == 4102 (无法创建记录,因为一个已经存在同名。)创建帐户失败。错误 = 4102(MCXCCacheMCXRecordAndGraph 失败)。清理手机账户记录。2 月 7 日 08:22:04 atosmcsmbp17M99 com.apple.loginwindow[7688]:2012-02-07 08:22:04.662 ManagedClient[7695:1803] MCXCDeleteAccount():尝试删除用户 ID = 0 Feb 7 08:22: 04 atosmcsmbp17M99 com.apple.loginwindow[7688]: 2012-02-07 08:22:04.663 ManagedClient[7695:1803] MCX.createMobileUserAccount: MCXCCreateMobileUserAccount( luser, /Users/luser ) == 4102 (无法创建记录,因为一个已经存在同名。)
我有一个可以通过 ssh 访问的管理员帐户,因此我尝试使用以下命令手动创建移动帐户:/System/Library/CoreServices/ManagedClient.app/Contents/Resources/createmobileaccount -vn luser /Users/luser
但是我得到了同样的错误:
bash-3.2# /System/Library/CoreServices/ManagedClient.app/Contents/Resources/createmobileaccount -vn luser -h /Users/luser createmobileaccount 于 2011 年 12 月 8 日 21:19:30 详细输出。用户名 = "luser" 主路径 = "/Users/luser" 用户密码 = "(null)" 提示输入密码 = FALSE 加密新主页 = FALSE 创建为外部帐户 = TRUE 主页同步新帐户 = FALSE 2 月 7 日 08:38 :25 atosmcsmbp17M99.local createmobileaccount[9427] :3891612:(connectAndCheck)不允许不受信任的应用程序在登录前连接或启动Window Server。2012-02-07 08:38:26.713 createmobileaccount[9427:1203] MCXCCacheMCXRecordAndGraph(): vproc_swap_integer(NULL, VPROC_GSK_PERUSER_SUSPEND, &(uid=64058026), NULL) == 0x908e8a7c 2012-02-07 08:38:2mobile. 9427:1203] MCXCCacheMCXRecordAndGraph(): [localNode createRecordWithRecordType:dsRecTypeStandard:Users name:"jgriss"] == 4102(无法创建记录,因为已经存在同名记录。)2012-02-07 08:38:26.783 createmobileaccount[ 9427:1203] MCXCCacheMCXRecordAndGraph(): vproc_swap_integer(NULL, VPROC_GSK_PERUSER_RESUME, &(uid=64058026), NULL) == 0x908e8a7c 2012-02-07 08:38:26.784 createmobileaccount[9427:1203] MCXCCreateMobileAccount() . 错误 = 4102(MCXCCacheMCXRecordAndGraph 失败)。清理手机账户记录。2012-02-07 08:38:26.784 createmobileaccount[9427:1203] MCXCDeleteAccount(): 试图删除用户 ID = 0 ] == 4102(无法创建记录,因为已经存在同名记录。) 2012-02-07 08:38:26.783 createmobileaccount[9427:1203] MCXCCacheMCXRecordAndGraph(): vproc_swap_integer(NULL, VPROC_GSK_PERUSER_RESUME, &(uid= 64058026), NULL) == 0x908e8a7c 2012-02-07 08:38:26.784 createmobileaccount[9427:1203] MCXCCreateMobileAccount(): 创建帐户失败。错误 = 4102(MCXCCacheMCXRecordAndGraph 失败)。清理手机账户记录。2012-02-07 08:38:26.784 createmobileaccount[9427:1203] MCXCDeleteAccount(): 试图删除用户 ID = 0 ] == 4102(无法创建记录,因为已经存在同名记录。) 2012-02-07 08:38:26.783 createmobileaccount[9427:1203] MCXCCacheMCXRecordAndGraph(): vproc_swap_integer(NULL, VPROC_GSK_PERUSER_RESUME, &(uid= 64058026), NULL) == 0x908e8a7c 2012-02-07 08:38:26.784 createmobileaccount[9427:1203] MCXCCreateMobileAccount(): 创建帐户失败。错误 = 4102(MCXCCacheMCXRecordAndGraph 失败)。清理手机账户记录。2012-02-07 08:38:26.784 createmobileaccount[9427:1203] MCXCDeleteAccount(): 试图删除用户 ID = 0 1203] MCXCCreateMobileAccount():创建帐户失败。错误 = 4102(MCXCCacheMCXRecordAndGraph 失败)。清理手机账户记录。2012-02-07 08:38:26.784 createmobileaccount[9427:1203] MCXCDeleteAccount(): 试图删除用户 ID = 0 1203] MCXCCreateMobileAccount():创建帐户失败。错误 = 4102(MCXCCacheMCXRecordAndGraph 失败)。清理手机账户记录。2012-02-07 08:38:26.784 createmobileaccount[9427:1203] MCXCDeleteAccount(): 试图删除用户 ID = 0 *无法创建移动帐户:4102(无法创建记录,因为已存在同名记录。)
补救措施:
我验证了本地帐户 DSCL 条目已删除
我已尝试按照 Apple 知识库中的说明刷新 MCS 设置:http: //support.apple.com/kb/HT3540
我还尝试删除 MCX 管理设置。rm -Rf "/库/托管首选项"
从系统首选项创建 luser,然后再次删除用户(保持主文件夹不变)确实允许在下次登录时正确创建移动帐户。但是,我需要能够编写此过程的脚本。
我觉得我错过了一些明显的东西,任何建议将不胜感激。
谢谢!