2011-02-19 31 views
2

我在我的IIS服務器上啓用了HTTPS,並在其中安裝了SharePoint Services 3.0,並且希望以編程方式更新單個Web應用程序和我的中央管理實例的默認備用訪問映射(在同一臺機器上)。以下是我目前使用的代碼(Powershell),它爲HTTPS添加了一個映射,但在嘗試刪除原始代碼時出現錯誤。以編程方式更新SharePoint默認的備用訪問映射

這裏是我的代碼:

[void][system.reflection.assembly]::LoadWithPartialName("Microsoft.Sharepoint") 

$SPWebServiceCollection = new-object Microsoft.SharePoint.Administration.SPWebServiceCollection ([Microsoft.SharePoint.Administration.SPFarm]::Local) 

    foreach ($SPWebService in $SPWebServiceCollection) { 

     foreach ($webApplication in $SPWebService.WebApplications) { 

      Write-Host ('Updating {0}' -f $webApplication.Name) 

      foreach ($alternateUrl in $webApplication.AlternateUrls) { 

       $incomingUrl = [System.URI] $alternateUrl.IncomingUrl 

       $newURL = 'https://{0}{1}' -f $incomingUrl.Authority, $incomingUrl.PathAndQuery 

       $newAltURL = New-Object Microsoft.SharePoint.Administration.SPAlternateUrl ($newURL, $alternateUrl.UrlZone) 

       $webApplication.AlternateUrls.Add($newAltURL) 

       $webApplication.AlternateUrls.Update($true) 

       $webApplication.AlternateUrls.Remove($alternateUrl) #Throws Exception 

       $webApplication.AlternateUrls.Update($true) 
      } 
     } 
    } 

這裏是我的錯誤,當我嘗試刪除原:

異常調用 「刪除」 和 「1」 的說法(S):「 SharePoint管理框架中的一個對象「SPAlternateUrlCollection Name = SharePoint - 1000 Parent = SPFarm Name = SharePoint_Config_8ddd3701-a332-4e79-98e4-fa11c1b6c17c」無法刪除,因爲其他對象依賴於此對象。將所有這些依賴項更新爲指向null或不同的對象並重試此操作。依賴對象如同低點:

SPWebApplication名稱=的SharePoint - 1000父= SPWebService

但是,我不知道該怎麼辦例外暗示什麼。

回答

0

原來有一個爲我忽略了退出默認項的另一種方法:

$webApplication.AlternateUrls.SetResponseUrl($newAltURL) 


[void][system.reflection.assembly]::LoadWithPartialName("Microsoft.Sharepoint") 

$SPWebServiceCollection = new-object Microsoft.SharePoint.Administration.SPWebServiceCollection ([Microsoft.SharePoint.Administration.SPFarm]::Local) 

foreach ($SPWebService in $SPWebServiceCollection) { 

    foreach ($webApplication in $SPWebService.WebApplications) { 

     Write-Host ('Updating {0}' -f $webApplication.Name) 

     foreach ($alternateUrl in $webApplication.AlternateUrls) { 

      $incomingUrl = [System.URI] $alternateUrl.IncomingUrl 

      $newURL = 'https://{0}{1}' -f $incomingUrl.Authority, $incomingUrl.PathAndQuery 

      $newAltURL = New-Object Microsoft.SharePoint.Administration.SPAlternateUrl ($newURL, $alternateUrl.UrlZone) 

      $webApplication.AlternateUrls.SetResponseUrl($newAltURL) 

      $webApplication.AlternateUrls.Update($true) 
     } 
    } 
} 
0

啊......它看起來像你想刪除的web服務使用URL ...

相關問題