Окно параметров шаблона VMM, показанное на рис. 12-6. позволяет администраторам создать из шаблона сервер, автоматически добавить его в домен, автоматически проверить с помощью верного серверного ключа, а также запустить сценарий после первого входа в систему. Таким сценарием может быть, к примеру, собственный сценарий PowerShell, который присоединяет созданный из шаблона сервер SharePoint к существующей ферме или создает с нуля новую ферму.
С помощью этой концепции организация может легко предоставить (через портал самообслуживания) разработчикам права создавать новые гостевые сеансы SharePoint. После создания сервера они могут войти в такой сеанс, и тогда автоматически запустится сценарий PowerShell, который создаст новую ферму. При наличии нужного оборудования разработчики могут создать совершенно новую среду SharePoint в течение 10-15 минут, причем новая ферма будет полностью независима от других ферм.
Глава 12
..............leiaowlcaiynrHC Miii HBitn tBii eaui
ка
• I
Tcmtowattcalynr Bc uni n^dfrief WbneauMf logs on ^pefw cemnend ei frefctowtigbet. andlhen dkk Add
^ »Ч/» 1« тв0ЛcomOTdfithefciowftgl»c.andlhendkfcMd
[5***iPee«wad Cornnandtoadd:
E*J PiodJctKor
ConvnanditobenretlMlDgon
^ Time Zone pcv wrfWg» -nовЛ c-^cptsNPr avM oiai nptT
Pedhc Standard T
Ji Opeehg Sjrteni
f. . .1
Ц Danw/WcAptxn Joined lg Doran с
ft Sq«i_
fttw erH»
Norm
_ 1|GWftrOiceJCom„ P^aWmf» .
Рис. 12.6. Создание шаблона виртуальной машины
Чтобы все это работало, SQL-сервер должен быть установлен на другой системе, т.к. SQL не любит замену имен после установки. В такой ситуации один экземпляр SQL может содержать базы данных для нескольких ферм. Обычно для всех созданных таким образом ферм разработки хватает одного гостевого сеанса SQL.
Ниже приведен простой сценарий создания фермы ProvisionFarm.psl, как пример сценария, который можно настроить на автоматический запуск после входа в созданный виртуальный сеанс.
PROVISIONFARM.PS1
$configType = read-host "Хотите присоединиться к существующей ферме? (Д/Н)"
if (SConfigType -eq "Д") {
$DatabaseServer = read-host "Ладно. Укажите имя SQL-сервера";
$ConfigDB = read-host "Теперь укажите имя базы конфигурационных данных фермы"; $Passphrase = read-host "И, наконец, введите пароль доступа к ферме" -assecurestring
SDatabaseServer = read-host "Тогда нужно создать новую ферму. Укажите имя 'bSQL-сервера" ;
SFarmNaine = read-host "Выберите имя для новой фермы {напр., SP2010Dev)"; $ConfigDB = S Fa rmName+"ConfigDB";
$AdminContentDB = $ FarmName+"_Admin_ContentDB";
Write-Host "Введите полномочия для учетной записи фермы (напр., CONTOSO\SP_Farm)"; $FarmAcct = Get-Credential;
$Passphrase = read-host "Введите стойкий пароль для доступа к ферме" -assecurestring; $Port = read-host "Введите номер порта для веб-приложения центра администрирования"; $Authentication = read-host "И, наконец, укажите поставщика аутентификации (NTLM/Kerberos) “;
if ($ConfigType -eq "Д”) (
Add-PSSnapin Microsoft.SharePoint.PowerShell;
Connect-SPConfigurationDatabase -DatabaseName SConfigDB -DatabaseServer SDatabaseServer -Passphrase SPassphrase } else1
Add-PSSnapin Microsoft.SharePoint.PowerShel1;
Write-Host "Выполняется настройка фермы SharePoint..." New-SPConfigurationDatabase -DatabaseName $ConfigDB -DatabaseServer $DatabaseServer
-AdministrationContentDatabaseName SAdminContentDB -Passphrase $Passphrase -FarmCredentials $FarmAcct
}
Initialize-SPResourceSecurity
Install-SPService
Install-SPFeature -AllExistingFeatures
New-SPCentralAdministration -Port $Port -WindowsAuthProvider SAuthentication
Install-SPHelpCollection -All
Install-SPApplicationContent
Write-Host "Ферма SharePoint 2010 Farm создана!" if ($ConfigType -eq "H") I
$WebAppCreation=read-host "Создать веб-приложение с помощью ^стандартного шаблона бригадного сайта? (Д/Н)"; if ($WebAppCreation -eq "Д"){
SHostHeaderQ = read-host "Вы укажете заголовок хоста? (Д/Н)"; if ($HostHeaderQ -eq "Д") (
$HostHeader = read-host "Укажите заголовок хоста для веб-приложения (напр., intranet. companyabc. com) ";
$URL = "http://"+$HostHeader;
Write-Host "Создание веб-приложения...";
New-SPWebApplication -Name "SharePoint 2010 Team Site” -Port 80 -HostHeader $FQDN -Url SURL -ApplicationPool "Content_AppPool" -ApplicationPoolAccount (Get-SPManagedAccount $FarmAcct.UserName) -DatabaseServer SDatabaseServer
-DatabaseName $FarmName+"_TeamSite_ContentDB_01";
New-SPSite SURL -OwnerAlias $FarmAcct.UserName -Language 1033 -Template "STS#0 n-Name "Team Site";
Write-Host I else (
Write-Host "Создание веб-приложения на основе стандартного шаблона
Ч>бригадного сайта___"
}
} else {
Write-Host "Настройка заверешена.";
}
}
Write-Host "Для продолжения нажмите любую клавишу.. . "
$х = Shost.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown")
Для работы этого сценария нужно выполнить следующие высокоуровневые шаги:
1. Создайте в VMM новый гостевой сеанс Windows Server 2008 R2, и выделите ему не менее 10 Гбайт ОЗУ и четырех виртуальных процессоров. (Не забывайте, что у SharePoint 2010 большие требования к ресурсам.) Кроме того, выделите этому сеансу два виртуальных диска: один для ОС, а другой — для индекса.
Читать дальше