Configurare un'applicazione di servizio mediante uno script di Windows PowerShell (SharePoint Server 2010)
Si applica a: SharePoint Foundation 2010, SharePoint Server 2010
Ultima modifica dell'argomento: 2016-11-30
Questo articolo illustra il modo in cui un utente può utilizzare uno script di Windows PowerShell per replicare le funzionalità di Configurazione guidata Prodotti SharePoint in Microsoft SharePoint Server 2010.
Nota
Lo script di Windows PowerShell seguente replica la maggior parte delle funzionalità di Configurazione guidata Prodotti SharePoint, ad eccezione del servizio Registro applicazioni e del connettore Lotus Notes. Per configurare entrambi i servizi, vedere rispettivamente Amministrazione del servizio Registro applicazioni (SharePoint Server 2010) e Configure and use the Lotus Notes connector (SharePoint Server 2010).
Per creare e configurare la farm, è necessario eseguire Configurazione guidata Prodotti SharePoint. Questa procedura guidata automatizza alcune attività di configurazione, incluse la creazione del database di configurazione, l'installazione di servizi, la creazione di applicazioni di servizio e proxy di applicazioni di servizio e la creazione del sito Web Amministrazione centrale.
Per ulteriori informazioni sulla distribuzione di una farm, vedere Più server per una farm su tre livelli (SharePoint Server 2010).
Uno dei limiti dell'utilizzo di Configurazione guidata Prodotti SharePoint consiste nel fatto che per eseguire il provisioning dei servizi nella farm, è necessario eseguire consecutivamente tutti i passaggi fino al completamento di Configurazione guidata Prodotti SharePoint. In alternativa, l'utilizzo dello script di Windows PowerShell consente a un amministratore di specificare in modo selettivo i servizi da eseguire, copiando e incollando il codice appropriato in un file con estensione ps1 separato.
Alcuni servizi dipendono gli uni dagli altri per l'esecuzione ed è pertanto necessario che tali servizi siano inclusi insieme nella versione dello script creata. Ad esempio, per utilizzare la creazione di report di Web Analytics, il servizio Web Analytics necessita dell'avvio del servizio informazioni sullo stato. Nella tabella seguente vengono illustrati i servizi e le rispettive dipendenze.
Nome servizio | Servizio dipendente |
---|---|
Servizio di accesso |
Nessuno |
Servizio di integrazione applicativa dei dati |
Nessuno |
Applicazione Excel Services |
Nessuno |
Servizio Web metadati gestiti |
Nessuno |
PerformancePoint Service |
Excel Services Servizio informazioni sullo stato |
Servizio di ricerca di SharePoint Server |
Servizio per raccolta dati di utilizzo e integrità |
Servizio informazioni sullo stato |
Nessuno |
Servizio di archiviazione sicura |
Nessuno |
Servizio per raccolta dati di utilizzo e integrità |
Nessuno |
Servizio di sincronizzazione dei profili utente |
Nessuno |
Servizio grafica di Visio |
Servizio informazioni sullo stato |
Servizio Web Analytics |
Servizio informazioni sullo stato |
Word Automation Services |
Nessuno |
Per configurare un'applicazione di servizio mediante uno script di Windows PowerShell
Verificare che siano soddisfatti i requisiti minimi seguenti:
Copiare il codice seguente e incollarlo in un editor di testo, ad esempio il Blocco note.
Nota
Per $appPoolUserName viene utilizzato un account di esempio, CONTOSO\SAAppPoolAccount, che deve essere modificato in un account valido dell'organizzazione.
################################################################################ ## This script replicates most of the functionality found in the SharePoint Products Configuration Wizard## ################################################################################ Add-PSSnapin Microsoft.SharePoint.PowerShell -erroraction SilentlyContinue ## Settings you may want to change ## $databaseServerName = "sp2010dev.contoso.com" $searchServerName = $databaseServerName $saAppPoolName = "SharePoint Web Services" $appPoolUserName = "CONTOSO\SAAppPoolAccount" ## Service Application Service Names ## $accesssSAName = "Access Services" $bcsSAName = "Business Data Connectivity Service" $excelSAName = "Excel Services Application" $metadataSAName = "Managed Metadata Web Service" $performancePointSAName = "PerformancePoint Service" $searchSAName = "SharePoint Server Search" $stateSAName = "State Service" $secureStoreSAName = "Secure Store Service" $usageSAName = "Usage and Health Data Collection Service" $userProfileSAName = "User Profile Synchronization Service" $visioSAName = "Visio Graphics Service" $WebAnalyticsSAName = "Web Analytics Service" $WordAutomationSAName = "Word Automation Services" $saAppPool = Get-SPServiceApplicationPool -Identity $saAppPoolName -EA 0 if($saAppPool -eq $null) { Write-Host "Creating Service Application Pool..." $appPoolAccount = Get-SPManagedAccount -Identity $appPoolUserName -EA 0 if($appPoolAccount -eq $null) { Write-Host "Please supply the password for the Service Account..." $appPoolCred = Get-Credential $appPoolUserName $appPoolAccount = New-SPManagedAccount -Credential $appPoolCred -EA 0 } $appPoolAccount = Get-SPManagedAccount -Identity $appPoolUserName -EA 0 if($appPoolAccount -eq $null) { Write-Host "Cannot create or find the managed account $appPoolUserName, please ensure the account exists." Exit -1 } New-SPServiceApplicationPool -Name $saAppPoolName -Account $appPoolAccount -EA 0 > $null } Write-Host "Creating Usage Service and Proxy..." $serviceInstance = Get-SPUsageService New-SPUsageApplication -Name $usageSAName -DatabaseServer $databaseServerName -DatabaseName "UsageDB" -UsageService $serviceInstance > $null Write-Host "Creating Access Services and Proxy..." New-SPAccessServiceApplication -Name $accesssSAName -ApplicationPool $saAppPoolName > $null Get-SPServiceInstance | where-object {$_.TypeName -eq "Access Database Service"} | Start-SPServiceInstance > $null Write-Host "Creating BCS Service and Proxy..." New-SPBusinessDataCatalogServiceApplication -Name $bcsSAName -ApplicationPool $saAppPoolName -DatabaseServer $databaseServerName -DatabaseName "BusinessDataCatalogDB" > $null Get-SPServiceInstance | where-object {$_.TypeName -eq "Business Data Connectivity Service"} | Start-SPServiceInstance > $null Write-Host "Creating Excel Service..." New-SPExcelServiceApplication -name $excelSAName -ApplicationPool $saAppPoolName > $null Set-SPExcelFileLocation -Identity "http://" -ExcelServiceApplication $excelSAName -ExternalDataAllowed 2 -WorkbookSizeMax 10 -WarnOnDataRefresh:$true Get-SPServiceInstance | where-object {$_.TypeName -eq "Excel Calculation Services"} | Start-SPServiceInstance > $null Write-Host "Creating Metadata Service and Proxy..." New-SPMetadataServiceApplication -Name $metadataSAName -ApplicationPool $saAppPoolName -DatabaseServer $databaseServerName -DatabaseName "MetadataDB" > $null New-SPMetadataServiceApplicationProxy -Name "$metadataSAName Proxy" -DefaultProxyGroup -ServiceApplication $metadataSAName > $null Get-SPServiceInstance | where-object {$_.TypeName -eq "Managed Metadata Web Service"} | Start-SPServiceInstance > $null Write-Host "Creating Performance Point Service and Proxy..." New-SPPerformancePointServiceApplication -Name $performancePointSAName -ApplicationPool $saAppPoolName > $null New-SPPerformancePointServiceApplicationProxy -Default -Name "$performancePointSAName Proxy" -ServiceApplication $performancePointSAName > $null Get-SPServiceInstance | where-object {$_.TypeName -eq "PerformancePoint Service"} | Start-SPServiceInstance > $null ##START SEARCH Write-Host "Creating Search Service and Proxy..." Write-Host " Starting Services..." Start-SPEnterpriseSearchServiceInstance $searchServerName Start-SPEnterpriseSearchQueryAndSiteSettingsServiceInstance $searchServerName Write-Host " Creating Search Application..." $searchApp = New-SPEnterpriseSearchServiceApplication -Name $searchSAName -ApplicationPool $saAppPoolName -DatabaseServer $databaseServerName -DatabaseName "SearchDB" $searchInstance = Get-SPEnterpriseSearchServiceInstance $searchServerName Write-Host " Creating Administration Component..." $searchApp | Get-SPEnterpriseSearchAdministrationComponent | Set-SPEnterpriseSearchAdministrationComponent -SearchServiceInstance $searchInstance ##Crawl Write-Host " Creating Crawl Component..." $InitialCrawlTopology = $searchApp | Get-SPEnterpriseSearchCrawlTopology -Active $CrawlTopology = $searchApp | New-SPEnterpriseSearchCrawlTopology $CrawlDatabase = ([array]($searchApp | Get-SPEnterpriseSearchCrawlDatabase))[0] $CrawlComponent = New-SPEnterpriseSearchCrawlComponent -CrawlTopology $CrawlTopology -CrawlDatabase $CrawlDatabase -SearchServiceInstance $searchInstance $CrawlTopology | Set-SPEnterpriseSearchCrawlTopology -Active Write-Host -ForegroundColor white " Waiting for the old crawl topology to become inactive" -NoNewline do {write-host -NoNewline .;Start-Sleep 6;} while ($InitialCrawlTopology.State -ne "Inactive") $InitialCrawlTopology | Remove-SPEnterpriseSearchCrawlTopology -Confirm:$false Write-Host ##Query Write-Host " Creating Query Component..." $InitialQueryTopology = $searchApp | Get-SPEnterpriseSearchQueryTopology -Active $QueryTopology = $searchApp | New-SPEnterpriseSearchQueryTopology -Partitions 1 $IndexPartition= (Get-SPEnterpriseSearchIndexPartition -QueryTopology $QueryTopology) $QueryComponent = New-SPEnterpriseSearchQuerycomponent -QueryTopology $QueryTopology -IndexPartition $IndexPartition -SearchServiceInstance $searchInstance $PropertyDatabase = ([array]($searchApp | Get-SPEnterpriseSearchPropertyDatabase))[0] $IndexPartition | Set-SPEnterpriseSearchIndexPartition -PropertyDatabase $PropertyDatabase $QueryTopology | Set-SPEnterpriseSearchQueryTopology -Active Write-Host " Creating Proxy..." $searchAppProxy = New-SPEnterpriseSearchServiceApplicationProxy -Name "$searchSAName Proxy" -SearchApplication $searchSAName > $null #####END SEARCH Write-Host "Creating State Service and Proxy..." New-SPStateServiceDatabase -Name "StateServiceDB" -DatabaseServer $databaseServerName | New-SPStateServiceApplication -Name $stateSAName | New-SPStateServiceApplicationProxy -Name "$stateSAName Proxy" -DefaultProxyGroup > $null Write-Host "Creating Secure Store Service and Proxy..." New-SPSecureStoreServiceapplication -Name $secureStoreSAName -Sharing:$false -DatabaseServer $databaseServerName -DatabaseName "SecureStoreServiceAppDB" -ApplicationPool $saAppPoolName -auditingEnabled:$true -auditlogmaxsize 30 | New-SPSecureStoreServiceApplicationProxy -name "$secureStoreSAName Proxy" -DefaultProxygroup > $null Get-SPServiceInstance | where-object {$_.TypeName -eq "Secure Store Service"} | Start-SPServiceInstance > $null Write-Host "Creating User Profile Service and Proxy..." $userProfileService = New-SPProfileServiceApplication -Name $userProfileSAName -ApplicationPool $saAppPoolName -ProfileDBServer $databaseServerName -ProfileDBName "ProfileDB" -SocialDBServer $databaseServerName -SocialDBName "SocialDB" -ProfileSyncDBServer $databaseServerName -ProfileSyncDBName "SyncDB" New-SPProfileServiceApplicationProxy -Name "$userProfileSAName Proxy" -ServiceApplication $userProfileService -DefaultProxyGroup > $null Get-SPServiceInstance | where-object {$_.TypeName -eq "User Profile Service"} | Start-SPServiceInstance > $null Write-Host "Creating Visio Graphics Service and Proxy..." New-SPVisioServiceApplication -Name $visioSAName -ApplicationPool $saAppPoolName > $null New-SPVisioServiceApplicationProxy -Name "$visioSAName Proxy" -ServiceApplication $visioSAName > $null Get-SPServiceInstance | where-object {$_.TypeName -eq "Visio Graphics Service"} | Start-SPServiceInstance > $null Write-Host "Creating Web Analytics Service and Proxy..." $stagerSubscription = "<StagingDatabases><StagingDatabase ServerName='$databaseServerName' DatabaseName='StagerDB'/></StagingDatabases>" $reportingSubscription = "<ReportingDatabases><ReportingDatabase ServerName='$databaseServerName' DatabaseName='WarehouseDB'/></ReportingDatabases>" New-SPWebAnalyticsServiceApplication -Name $WebAnalyticsSAName -ApplicationPool $saAppPoolName -ReportingDataRetention 20 -SamplingRate 100 -ListOfReportingDatabases $reportingSubscription -ListOfStagingDatabases $stagerSubscription > $null New-SPWebAnalyticsServiceApplicationProxy -Name "$WebAnalyticsSAName Proxy" -ServiceApplication $WebAnalyticsSAName > $null Get-SPServiceInstance | where-object {$_.TypeName -eq "Web Analytics Web Service"} | Start-SPServiceInstance > $null Get-SPServiceInstance | where-object {$_.TypeName -eq "Web Analytics Data Processing Service"} | Start-SPServiceInstance > $null Write-Host "Creating Word Conversion Service and Proxy..." New-SPWordConversionServiceApplication -Name $WordAutomationSAName -ApplicationPool $saAppPoolName -DatabaseServer $databaseServerName -DatabaseName "WordAutomationDB" -Default > $null Get-SPServiceInstance | where-object {$_.TypeName -eq "Word Automation Services"} | Start-SPServiceInstance > $null
Salvare il file assegnandogli il nome
Services.ps1
.Nota
È possibile utilizzare un nome diverso, ma sarà comunque necessario effettuare il salvataggio come file di testo con codifica ANSI, la cui estensione è ps1.
Fare clic sul pulsante Start e scegliere Tutti i programmi.
Fare clic su Prodotti Microsoft SharePoint 2010.
Fare clic su SharePoint 2010 Management Shell.
Passare alla directory in cui è stato salvato il file.
Al prompt dei comandi di Windows PowerShell digitare il comando seguente:
./Services.ps1
Per ulteriori informazioni sugli script e i file con estensione ps1 di Windows PowerShell, vedere la pagina relativa all'esecuzione di script di Windows PowerShell (le informazioni potrebbero essere in lingua inglese).