===== Создание экземпляра User Profile Service Application в SharePoint 2019 с помощью PowerShell =====
При создании экземпляра службы **User Profile Service** в **SharePoint Server 2019** через веб-гуй есть два неприятных нюанса:
* Пул IIS создается не с понятным именем, а с длинным именем в виде идентификатора примерно следующего вида: \\ ''6872cacba29e456ab301a6f60dae925a''
* Имя базы данных Synchronization Database невозможно изменить в веб-гуе и оно создаётся с некрасивым именем примерно следующего вида: \\ ''Sync_79d21c54-63f6-46b4-9273-4aa87ba877fb DB''
Чтобы избежать этих нюансов, можно создать экземпляр службы **User Profile Service** с помощью **SharePoint 2019 Management Shell**.
1) Создаём учётную запись для пула IIS через веб-гуй ЦА, либо с помощью PowerShell, как описано
[[https://blog.it-kb.ru/2014/04/21/install-two-tier-farm-sharepoint-server-2013-sp1-on-windows-server-2012-r2-part-7-configure-user-profile-service-synchronization-from-active-directory/|здесь]].
В нашем примере создана учётная запись ''KOM\s-SPS-APUPS''.
2) Создаём пул IIS с желаемым именем и с использованием созданной ранее учётной записи:
New-SPServiceApplicationPool -Name "SharePoint AppPool User Profile Service" `
-Account "KOM\s-SPS-APUPS"
3) Создаём экземпляр службы **User Profile Service** с желаемыми именами баз данных, добавляем созданный экземпляр в **Default Proxy Group** и выполняем запуск службы:
$ServiceAppName = "User Profile Service Application"
$ServiceAppProxyName = "User Profile Service Application Proxy"
$DBServer = "KOM-DBSP.holding.com"
$AppPoolName = "SharePoint AppPool User Profile Service"
$UserProfileDB = "SharePoint_UserProfileSvc_ProfileDB"
$UserProfileSyncDB = "SharePoint_UserProfileSvc_SyncDB"
$UserProfileSocialDB = "SharePoint_UserProfileSvc_SocialTaggingDB"
$MySiteHostLocation = "https://kom-mys.holding.com"
$ServiceApplication = New-SPProfileServiceApplication -Name $ServiceAppName `
-ApplicationPool $AppPoolName `
-ProfileDBServer $DBServer `
-ProfileDBName $UserProfileDB `
-ProfileSyncDBServer $DBServer `
-ProfileSyncDBName $UserProfileSyncDB `
-SocialDBServer $DBServer `
-SocialDBName $UserProfileSocialDB `
-MySiteHostLocation $MySiteHostLocation `
-SiteNamingConflictResolution "Block"
New-SPProfileServiceApplicationProxy -Name $ServiceAppProxyName `
-ServiceApplication $ServiceApplication -DefaultProxyGroup
$ServiceInstance = Get-SPServiceInstance | `
Where-Object { $_.TypeName -eq "User Profile Service" }
if ($ServiceInstance.Status -ne "Online") { Start-SPServiceInstance $ServiceInstance }
После выполнения последней команды через несколько минут должен запуститься созданный экземпляр службы профилей и в IIS должен появится соостветвующий этой службе пул.
Проверить статус экземпляра можно командой вида:
Get-SPServiceInstance $ServiceInstance
----
**Дополнительные источники информации**:
* [[https://learn.microsoft.com/en-us/powershell/module/sharepoint-server/new-spprofileserviceapplication?view=sharepoint-server-ps|New-SPProfileServiceApplication]]
* [[https://www.sharepointdiary.com/2017/08/powershell-to-create-user-profile-service-application-sharepoint-2016.html|Create User Profile Service Application using PowerShell in SharePoint 2016 ]]
----
Проверено на следующих конфигурациях:
^ Версия SharePoint Server ^ Версия PowerShell ^
| SharePoint Server 2019 (16.0.10397.20002) | PowerShell 5.1.20348.1366 |
----
{{:user:blogroot.png?50&nolink |}} Автор первичной редакции:\\ [[user:blogroot|Алексей Максимов]] \\ Время публикации: 26.04.2023 18:52
{{tag>"SharePoint Server 2019" "User Profile Service" PowerShell }}
~~DISCUSSION~~