【发布时间】:2015-06-09 20:02:07
【问题描述】:
解决方案:对于碰巧遇到此问题的任何其他人,请查看:http://www.harbar.net/archive/2010/10/30/avoiding-the-default-schema-issue-when-creating-the-user-profile.aspx
TL;DR 当您通过 CA 创建 UPS 时,它会使用农场帐户在 SQL 服务器上创建一个 dbo 用户和架构,但是当通过 powershell 执行此操作时,它会使用以农场帐户命名的架构和用户来创建它,但是仍然尝试使用 dbo 模式管理 SQL,这当然失败了。
注意:我只包含了我认为相关的脚本部分。我可以根据需要提供其他零件。
我对此一无所知。一切似乎都正常,除了 UPS 同步服务卡在“正在启动”上,我已经离开了 12 多个小时。
当它通过 GUI 设置时它工作正常,但我正在尝试自动化每个可能的步骤。在自动化时,我尝试包含 GUI 中可用的每个选项,以便在需要更改时显示它。
这是我目前所拥有的:
$domain = "DOMAIN"
$fqdn = "fully.qualified.domain.name"
$admin_pass = "password"
New-SPManagedPath "personal" -WebApplication "http://portal.$($fqdn):9000/"
$upsPool = New-SPServiceApplicationPool -Name "SharePoint - UPS" -Account "$domain\spsvc"
$upsApp = New-SPProfileServiceApplication -Name "UPS" -ApplicationPool $upsPool -MySiteLocation "http://portal.$($fqdn):9000/" -MySiteManagedPath "personal" -ProfileDBName "UPS_ProfileDB" -ProfileSyncDBName "UPS_SyncDB" -SocialDBName "UPS_SocialDB" -SiteNamingConflictResolution "None"
New-SPProfileServiceApplicationProxy -ServiceApplication $upsApp -Name "UPS Proxy" -DefaultProxyGroup
$upsServ = Get-SPServiceInstance | Where-Object {$_.TypeName -eq "User Profile Service"}
Start-SPServiceInstance $upsServ.Id
$upsSync = Get-SPServiceInstance | Where-Object {$_.TypeName -eq "User Profile Synchronization Service"}
$upsApp.SetSynchronizationMachine("Portal", $upsSync.Id, "$domain\spfarm", $admin_pass)
$upsApp.Update()
Start-SPServiceInstance $upsSync.Id
我已经尝试通过在定义变量后直接将其复制到 shell 窗口中来一次运行每一行,并且它们都没有给出错误,但是 CA GUI 必须做一些我正在做的事情不见了。
【问题讨论】:
-
查看语法高亮,你需要在
-ProfileDBName "UPS_ProfileDB平衡你的"" -
哎呀,我错了。由于隔离,我无法直接复制代码,所以我不得不将其键入。
-
查看this sharepoint.SE question,原因可能有很多
标签: powershell sharepoint sharepoint-2010 ups