SharePointCommunity
Die deutschsprachige Community für SharePoint, Microsoft 365, Teams, Yammer und mit Azure

Sponsored by

Willkommen im Forum Archiv.
Einträge sind hier nicht mehr möglich, aber der Bestand von 12 Jahren SharePoint-Wissen ist hier recherchierbar.




fehler bei warmup script in sharepoint foundation 2010

Unbeantwortet Dieser Beitrag hat 4 Antworten

Ohne Rang
4 Beiträge
mono idee erstellt 18 Apr. 2011 16:22
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo,

ich wollte folgendes script für warmup auf dem sharepoint foundation 2010 einsetzen:

    Clear-Host 
    Add-PsSnapin Microsoft.SharePoint.PowerShell -erroraction silentlycontinue 
     
    [void][System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint") 
    [void][System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint.Administration") 
     
    [System.Net.WebRequest]::DefaultWebProxy = $null 
     
    $farm = [Microsoft.SharePoint.Administration.SPFarm]::Local 
     
    Write-Host("Get all web applications within each web service") 
    $websvcs = @($farm.Services | where -FilterScript {$_.GetType() -eq [Microsoft.SharePoint.Administration.SPWebService]}) 
     
    foreach ($websvc in $websvcs) { 
     foreach ($webapp in ($websvc.WebApplications | where -FilterScript {$_.GetType() -eq [Microsoft.SharePoint.Administration.SPWebApplication]})) { 
      $webappurl = $webapp.Url 
      $webappname = $webapp.Name 
      Write-Host("Get all site collections within web application '$webappname ($webappurl)'") -ForeGroundColor Green 
     
      foreach ($sitecollection in $webapp.Sites) { 
       $sitecollectionurl = $sitecollection.Url 
       Write-Host("Get all webs of '$sitecollectionurl' site collection") -ForeGroundColor Yellow 
     
       foreach ($web in $sitecollection.AllWebs) { 
        $webname = $web.Title 
        $weburl = $web.Url 
        Write-Host("Hitting web '$webname ($weburl)'"); 
     
        $request = [System.Net.WebRequest]::Create($weburl) 
        $request.Credentials = [System.Net.CredentialCache]::DefaultNetworkCredentials 
        $request.proxy = [System.Net.WebRequest]::DefaultWebProxy 
        $request.ContentType = "application/x-www-form-urlencoded" 
        $request.Method = "GET" 
        $request.GetResponse().StatusCode 
       } 
      } 
     } 
    } 

 

Ich rufe das script testweise über Powershell als Administrator mit .\warmup.ps1 auf und erhalte folgenden Fehler:

Ausnahme beim Aufrufen von "GetResponse" mit 0 Argument(en):  "Der Remoteserver hat einen Fehler zurückgegeben: (401) N
icht autorisiert."
Bei C:\Users\sharepoint\Desktop\warmup.ps1:34 Zeichen:29
+         $request.GetResponse <<<< ().StatusCode
    + CategoryInfo          : NotSpecified: (:) [], MethodInvocationException
    + FullyQualifiedErrorId : DotNetMethodException

 

Alle ähnliche scripte die ich getestet hatten brachten auch diesen 401 Fehler.

Hat jemand eine Idee oder einen Lösungsansatz?

 

Gruß

Alle Antworten

Ohne Rang
634 Beiträge
Olaf Didszun Als Antwort am 18 Apr. 2011 21:20
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Es beantwortet zwar nicht Deine Frage, aber warum nimmst Du nicht SPWakeUp von Codeplex: http://spwakeup.codeplex.com/

Grüße

Olaf

 

Ohne Rang
4 Beiträge
mono idee Als Antwort am 18 Apr. 2011 21:43
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Danke für die Info.

Ganz ehrlich gesagt finde ich es einfacher ein Powershell-script als ein C# Programm umzuschreiben. Es ist auch transparenter in einem Powershell script, falls mal jemand anderes auf dem Server einen Fehler sucht etc.

Ich vermute das irgendetwas mit der Zeile nicht richtig funktioniert:

        $request = [System.Net.WebRequest]::Create($weburl) 
        $request.Credentials = [System.Net.CredentialCache]::DefaultNetworkCredentials 

Der Sharepoint läuft unter dem Netwkrservice Dienstkonto und der angemeldete User, der das script ausführt ist lokaler und sharepointadmin/owner,

 

 

 

Ohne Rang
4 Beiträge
mono idee Als Antwort am 22 Apr. 2011 09:36
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Leider verursacht spwakeup3.exe den gleichen Fehler:

Error: Der Remoteserver hat einen Fehler zurückgegeben: (401) Nicht autorisiert.

Auch hier wurde die Datei als Administrator ausgeführt.

Ohne Rang
4 Beiträge
mono idee Als Antwort am 22 Apr. 2011 12:33
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

!!!LÖSUNG GEFUNDEN!!!

Nachdem ich auch noch feststellen musste das der Aufruf des Sharepointes via IE auf dem Server mit dem IIS/Sharepoint ebenso authentisierungsfehler brachte fand ich dazu folgende Lösung:

You receive error 401.1 when you browse a Web site that uses Integrated Authentication and is hosted on IIS 5.1 or a later version

Darunter brachten folgende Schritte den Erfolg zum lokalen Aufruf der Sharepointseite und der Funktionalität des oben erwähnten Warmupscriptes:

Method 1: Specify host names (Preferred method if NTLM authentication is desired)

To specify the host names that are mapped to the loopback address and can connect to Web sites on your computer, follow these steps:

  1. Set the DisableStrictNameChecking registry entry to 1. For more information about how to do this, click the following article number to view the article in the Microsoft Knowledge Base:
    281308  Connecting to SMB share on a Windows 2000-based computer or a Windows Server 2003-based computer may not work with an alias name
  2. Click Start, click Run, type regedit, and then click OK.
  3. In Registry Editor, locate and then click the following registry key:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0
  4. Right-click MSV1_0, point to New, and then click Multi-String Value.
  5. Type BackConnectionHostNames, and then press ENTER.
  6. Right-click BackConnectionHostNames, and then click Modify.
  7. In the Value data box, type the host name or the host names for the sites that are on the local computer, and then click OK.
  8. Quit Registry Editor, and then restart the IISAdmin service.

 

Danke euch trotzdem für alle Hilfestellungen!