NullReferencexception beim Ausführen von New-Spite
-
22-10-2019 - |
Frage
Ich führe das folgende PowerShell-Skript auf meinem SharePoint-Server aus, um eine neue Host-Header-Site-Sammlung und eine Mieter-Administrator-Site zu erstellen:
Add-PSSnapin microsoft.sharepoint.powershell -ea SilentlyContinue
$featurePackID = "23b570e2-61f8-40ca-8e4d-7625ac7a4d37"
$webApplicationURL = "https://myserver"
$url = "https://test.mysharepoint.com"
$owneralias = "TEST\SP_App01"
$contentDatabase = "WSS_Content_WebApp01"
$template = "STS#0"
$sub = New-SPSiteSubscription
if(!$url.StartsWith("https://")){ $url = "https://$url"; }
if(!$url.StartsWith($webApplicationURL))
{
$hostheader = 'y'
}
#Set Feature Pack
if ($featurePackID -ne "")
{
$FeaturePack = Get-SPSiteSubscriptionFeaturePack $featurePackID
}
if($FeaturePack -ne "" -and $FeaturePack -ne $null){
Set-SPSiteSubscriptionConfig $sub -FeaturePack $FeaturePack
}
if($hostheader -ieq 'y' -or $hostheader -ieq 'yes'){
#Pre-Reqs
if( (Get-SPManagedPath -HostHeader "admin" -ea SilentlyContinue) -eq $null){$void = New-SPManagedPath "admin" -hostheader -explicit}
$wa = Get-SPWebApplication $webApplicationURL
New-SPSite $url -owneralias $owneralias -sitesubscription $sub -hostheaderwebapplication $wa -template $template -contentdatabase $contentdatabase #| set-spsite -maxsize 5000000 -warningsize 4000000
New-SPSite "$url/admin" -owneralias $owneralias -sitesubscription $sub -template "TENANTADMIN#0" -Administrationsitetype "TenantAdministration" -hostheaderwebapplication $wa -contentdatabase $contentdatabase #| set-spsite -maxsize 5000000 -warningsize 4000000
}
else{
New-SPSite $url -owneralias $owneralias -sitesubscription $sub -template "STS#0" | set-spsite -maxsize 5000000 -warningsize 4000000
New-SPSite "$url/admin" -owneralias $owneralias -sitesubscription $sub -template "TENANTADMIN#0" -Administrationsitetype "TenantAdministration" | set-spsite -maxsize 5000000 -warningsize 400000
}
Ich bekomme jedoch den folgenden Fehler:
NEW-SPIT: Objektreferenz nicht auf eine Instanz eines Objekts festgelegt. + New -spricht <<<< $ url -owneralias $ obereralias -SiteSubscription $ sub -hoaderwebApplication $ wa -template $ template -ContentData Basis $ contentDatabase #| set -sspsite -maxSize 5000000 -Warningsize 4000000 + categoryInfo: InvalidData: (microsoft.share ... spcmdletnewSite: spcmdletnewSite) [new -sspsite], nullReferencexception + vollständigqualifiedErrid: microsoft.Sharepoint.powershell.spcmdletNewSt.
Irgendwelche Ideen warum?
Lösung
Dies stellte sich als Berechtigungsfehler heraus. Ich habe das Skript neu, ohne die Vorlage anzugeben, aber mein Konto als Owneralias festgelegt. Dann habe ich dieses Skript ausgeführt, um die Vorlage festzulegen:
Get-SPSite https://test.mysharepoint.com | Set-SPSite -Template "TenantAdmin#0" -Administrationsitetype "TenantAdministration"
Und hey Presto - alle arbeiten. Dann ging ich hinein und wechselte den Besitzer glücklich.