Необязательные поля при создании сайта SP - PullRequest
1 голос
/ 26 апреля 2019

Я создаю сайт SP, и у меня есть одно необязательное поле - $ SecondaryAlias, я хотел бы, чтобы скрипт создавал сайт, даже если переменная virtualAlias ​​пуста, но вместо этого выдает следующую ошибку:

New-SPSite : Cannot bind parameter 'SecondaryOwnerAlias'. Cannot convert value "" to type "Microsoft.SharePoint.PowerShell.SPUserPipeBind". Error: "Value cannot be null.

это мой блок сценариев secondAlias, и я не уверен, как правильно им манипулировать:

Do{
$SecondaryAlias = Read-Host 'Optional: SecondaryOwnerAlias'


try {
  $user = get-aduser -Filter "samaccountname -eq '$SecondaryAlias' -OR name -eq '$SecondaryAlias'"
}
catch {
  "no secondaryOwnerAlias has been chosen"
   break
}

   Do{
If (!$user) {
  "The user does not exist in AD" 
   break
} 
Else {
  "The user does exist in AD:`nsamaccountname: $($user.samaccountname)`nFull Name: $($user.name)"

}
}While (($null -eq $SiteOwnerAlias) -or ( "" -eq $SiteOwnerAlias)) 
}until ($user) 

New-SPSite -Url $siteUrl -name $sitename  -Language $SiteLanguage -Template $SiteTemplate -OwnerAlias $SiteOwner -SecondaryOwnerAlias $SecondaryAlias

спасибо

1 Ответ

1 голос
/ 26 апреля 2019

Таким образом, вы должны иметь SecondaryAlies в другом if/else состоянии, как показано ниже:

If($SecondaryAlias)
{
    New-SPSite -Url $siteUrl -name $sitename  -Language $SiteLanguage -Template $SiteTemplate -OwnerAlias $SiteOwner -SecondaryOwnerAlias $SecondaryAlias
}
else
{
    New-SPSite -Url $siteUrl -name $sitename  -Language $SiteLanguage -Template $SiteTemplate -OwnerAlias $SiteOwner
}

Надеюсь, это поможет вам.

PS: я не проверяю другие логики; ответил только на вашу конкретную логическую проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...