Archive for April 2013

Sharepoint PreUpgradeCheck meldet fehlenden Web Part aber in welcher Site?

26 April 2013

Wenn man bei einer Sharepoint-Migration vorneweg den PreUpgradeCheck mittels

C:\Programme\Gemeinsame Dateien\Microsoft Shared\web server extensions\12\BIN>stsadm -o preupgradecheck

den Prüflauf startet, kann es passieren, dass bei ServerConfigErrors Fehlgeschlagen gemeldet wird:

Processing configuration file: WssPreUpgradeCheck.xml
        OSPrerequisite… Fehlgeschlagen
        WindowsInternalDatabaseMigration… Bestanden
        WindowsInternalDatabaseSite… Bestanden
        MissingWebConfig… Bestanden
        ReadOnlyDatabase… Bestanden
        InvalidDatabaseSchema… Bestanden
        ContentOrphan… Bestanden
        SiteOrphan… Bestanden
        ServerConfigErrors… Fehlgeschlagen
        FormsAuthenticationApplications… Bestanden
        PendingUpgrade… Bestanden
        InvalidServiceAccount… Bestanden
        InvalidHostName… Bestanden
        UnsupportedSqlServerVersion… Bestanden
        ServerInfo… Nur zu Informationszwecken
        FarmInfo… Nur zu Informationszwecken
        SiteDefinitionInfo… Nur zu Informationszwecken
        LanguagePackInfo… Nur zu Informationszwecken
        FeatureInfo… Nur zu Informationszwecken
        EventReceiverInfo… Nur zu Informationszwecken
        WebPartInfo… Nur zu Informationszwecken
        AamUrls… Nur zu Informationszwecken
        LargeList… Bestanden
        CustomListViewInfo… Bestanden
        CustomFieldTypeInfo… Bestanden
        CustomWorkflowActionsFileInfo… Bestanden
        ModifiedWebConfigWorkflowAuthorizedTypesInfo… Nur zu Informationszweck
en
        ModifiedWorkflowActionsFileInfo… Bestanden
        DisabledWorkFlowsInfo… Bestanden
        SPSearchInfo… Nur zu Informationszwecken

Operation completed successfully.

Please review the results at C:\Programme\Gemeinsame Dateien\Microsoft Shared\We
b Server Extensions\12\Logs\PreUpgradeCheck-20130426-080529-978.htm.

In der genannten HTML-Datei findet man dann nur den Hinweis:

Issue : Missing server file or server configuration issues

Server side files are referenced in the content databases, but are not installed on the server. Without these files, the sites may not function completely or the content may not render correctly. Also, upgrade or post upgrade issues may occur if these files are not available in the new version environment.The following web part(s) are referenced by the content, but they are not installed on the web server

Id = e0c4048d-32c1-444d-d672-c86c215757bc, Type = Unknown, Reference = 1, Status = Missing

For more information about this rule, see KB article 976218 in the rule article list at http://go.microsoft.com/fwlink/?LinkID=120257.

Wenn man dann im Dokument, in diesem Fall nach

e0c4048d-32c1-444d-d672-c86c215757bc

sucht, kommt z. B. dies zum Vorschein:

Information Only : Web Part information

The following web parts are being used in this SharePoint farm:

Id = ce9aa113-48cf-ddee-0c03-597445e5b7ab, Type = Microsoft.SharePoint.WebPartPages.ImageWebPart, Reference = 7, Status = Installed
Id = 293e8d0e-486f-e21e-40e3-75bfb77202de, Type = Microsoft.SharePoint.WebPartPages.ListFormWebPart, Reference = 431, Status = Installed
Id = 2242cce6-491a-657a-c8ee-b10a2a993eda, Type = Microsoft.SharePoint.WebPartPages.ListViewWebPart, Reference = 556, Status = Installed
Id = 99cdf365-0cee-2fb2-c12b-ce285a898031, Type = Microsoft.SharePoint.WebPartPages.BlogAdminWebPart, Reference = 2, Status = Installed
Id = e60f6c95-e86c-4717-2c0d-6d8563c9caf7, Type = Microsoft.SharePoint.WebPartPages.ContentEditorWebPart, Reference = 10, Status = Installed
Id = b9a7f972-708a-cd77-4ffd-a235dfed5c38, Type = Microsoft.SharePoint.WebPartPages.DataFormWebPart, Reference = 44, Status = Installed
Id = 404822d6-cc74-7e5c-6767-b8206c1490fc, Type = Microsoft.SharePoint.WebPartPages.SimpleFormWebPart, Reference = 3, Status = Installed
Id = e0c4048d-32c1-444d-d672-c86c215757bc, Type = Unknown, Reference = 1, Status = Missing
Id = 08f1dc7f-a471-2beb-1e5b-00ea35abba18, Type = Microsoft.SharePoint.WebControls.TopologyViewWebPart, Reference = 1, Status = Installed

For more information about this rule, see KB article 976217 in the rule article list at http://go.microsoft.com/fwlink/?LinkID=120257.

Wie immer wird auf den “Alles und Nichts” sagenden Artikel 976217 in der Knowledge Base verwiesen.

Wenn eine GUID angeprangert wird, so hilft ein schneller Check mit Google, ob die betreffende GUID irgendwo schon mal aufgetaucht ist.

Um nun aber die Site zu ermitteln, um eine Ahnung zu haben, um was es gehen könnte, verwendet man diesen Befehl:

C:\Programme\Gemeinsame Dateien\Microsoft Shared\web server extensions\12\BIN>stsadm -o enumallwebs -includewebparts > WebParts.txt

Sucht man nun in der erstellten WebParts.txt, tritt folgendes zu Tage:

  <Database SiteCount="2" Name="WSS_Content" DataSource="SERVER\Microsoft##SSEE">
    <Site Id="cb78e18b-552b-4baf-85a1-451034c87581" OwnerLogin="DOMÄNE\Benutzer" InSiteMap="True">
      <Webs Count="10">
        <Web Id="f0122e69-dd11-415a-887e-a229f4c705b9" Url="/sites/test" LanguageId="1031" TemplateName="STS#1" TemplateId="1">
          <WebParts>
            <WebPart Id="ce9aa113-48cf-ddee-0c03-597445e5b7ab" Count="1" Status="Installed" Type="Microsoft.SharePoint.WebPartPages.ImageWebPart" />
            <WebPart Id="293e8d0e-486f-e21e-40e3-75bfb77202de" Count="30" Status="Installed" Type="Microsoft.SharePoint.WebPartPages.ListFormWebPart" />
            <WebPart Id="2242cce6-491a-657a-c8ee-b10a2a993eda" Count="30" Status="Installed" Type="Microsoft.SharePoint.WebPartPages.ListViewWebPart" />
            <WebPart Id="e0c4048d-32c1-444d-d672-c86c215757bc" Count="1" Status="Missing" />
          </WebParts>
        </Web>

Die schon bekannte Info. Da es sich aber um eine XML-Datei handelt, die hierarchisch aufgebaut ist, kommt man nun an die Site, wo der Part verwendet wird, hier also “/sites/test”. Hiermit dürfte alles klar sein, im Einzelfall muss man nun halt abklären, wer für den Part bzw. die Site zuständig ist.

Microsoft SQL Server per Powershell Cmdlets ansprechen

25 April 2013

Wenn man einen Microsoft SQL Server mittels Powershell ansprechen möchte, so gibt es nun eine ganz einfache Möglichkeit dies zu tun.

Dazu benötigt man nur:

ENU\x64\SQLSysClrTypes.msi
ENU\x64\SharedManagementObjects.msi
ENU\x64\PowerShellTools.msi

und installiert diese in genau dieser Reihenfolge. Die Dateien sind zu finden im “Microsoft® SQL Server® 2012 SP1 Feature Pack” unter http://www.microsoft.com/en-us/download/details.aspx?id=35580. Und wer es braucht, findet dort auch noch passende Versionen für 32-Bit.

Hier die Links zum direkt Anklicken für die 64-Bit Versionen:

http://download.microsoft.com/download/4/B/1/4B1E9B0E-A4F3-4715-B417-31C82302A70A/ENU/x64/SQLSysClrTypes.msi

http://download.microsoft.com/download/4/B/1/4B1E9B0E-A4F3-4715-B417-31C82302A70A/ENU/x64/SharedManagementObjects.msi

http://download.microsoft.com/download/4/B/1/4B1E9B0E-A4F3-4715-B417-31C82302A70A/ENU/x64/PowerShellTools.msi

Abgelaufene Zertifikate am Small Business Server 2011 erneuern

24 April 2013

Wenn man am SBS2011 Probleme mit Zertifikaten bekommt, in der Regel nach ein oder zwei Jahren spätestens nach fünf Jahren, dann hilft ein Assistent bei der Erneuerung der Zertifikate.

Zur Lösung ruft man die Windows Small Business Server 2011 Standard Konsole auf. Dann klickt man oben auf Netzwerk, auf das Register Konnektivität, nun findet man rechts die Konnektivitätstasks. Hier findet man den Punkt “Beheben von Netzwerkproblemen” oder “fix my network”. Ruft man diesen Punkt auf, startet ein Assistent der Probleme im Netzwerk ausfindig macht. Am Ende konzentriert man sich in der Regel nur auf das abgelaufene Zertifikat und lässt dieses automatisch reparieren.

Hat der Assistent erfolgreich das Zertifikat erneuert, findet sich auch unter Verwaltung->Zertifizierungsstelle unter “Ausgestellte Zertifikate” ein neuer Eintrag mit einer neuen Anforderungs-ID sowie das neu ausgestellte Zertifikat.

Zertifikate manuell über Gruppenrichtlinien verteilen

23 April 2013

In der heutigen Zeit kommt man nicht mehr ohne Zertifikate aus. Um die Verteilung von speziellen Zertifikaten zentral steuern zu können, macht es Sinn, diese über Gruppenrichtlinien zu verteilen.

Eine schöne bebilderte Beschreibung findet man unter http://unixwiz.net/techtips/deploy-webcert-gp.html.

Hier eine Beschreibung für Windows Server 2008 R2: http://technet.microsoft.com/en-us/library/cc772491.aspx

Small Business Server Logdateien und Migrationsdateien

18 April 2013

Um einen Small Business Server 2003 auf einen Small Business Server 2011 zu migrieren, gibt es viele mögliche Stolperfallen. Um auf dem Weg der Migration einen besseren Überblick zu bekommen, sind einige Log-Dateien von Vorteil.

Die meisten Log-Dateien findet man unter:

C:\Program Files\Windows Small Business Server\Logs

Dieser Artikel beschreibt die einzelnen Log-Dateien und deren Bedeutung: http://blogs.technet.com/b/sbs/archive/2008/10/01/key-small-business-server-2008-log-files.aspx.

Für eine Servermigration von Bedeutung, ist vor allem die MoveData.LOG-Datei. In dieser stehen die relevanten Dinge.

Falsche Fährte bei der Fehlersuche
Allerdings sollte man sich nicht aus der Ruhe durch folgenden Fehler bringen lassen:

[8092] 130418.142709.7589: TaskScheduler: Exception System.IO.FileNotFoundException:

 

[8092] 130418.142709.7667: Exception:

—————————————

An exception of type ‚Type: System.IO.FileNotFoundException, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089‘ has occurred.

Timestamp: 04/18/2013 14:27:09

Message: Das System kann die angegebene Datei nicht finden. (Ausnahme von HRESULT: 0x80070002)

Stack:    bei TaskScheduler.TaskSchedulerClass.GetFolder(String Path)

   bei Microsoft.WindowsServerSolutions.Common.WindowsTaskScheduler..ctor(String taskPath, String taskName)

 

[8092] 130418.142709.7687: Storage: Exception Microsoft.WindowsServerSolutions.Common.WindowsTaskSchedulerException:

 

[8092] 130418.142709.7687: Exception:

—————————————

An exception of type ‚Type: Microsoft.WindowsServerSolutions.Common.WindowsTaskSchedulerException, Common, Version=6.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35‘ has occurred.

Timestamp: 04/18/2013 14:27:09

Message: Failed to find the task path

Stack:    bei Microsoft.WindowsServerSolutions.Common.WindowsTaskScheduler..ctor(String taskPath, String taskName)

   bei Microsoft.WindowsServerSolutions.Storage.Common.ServerBackupUtility.GetServerBackupTaskStatus()

—————————————

An exception of type ‚Type: System.IO.FileNotFoundException, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089‘ has occurred.

Timestamp: 04/18/2013 14:27:09

Message: Das System kann die angegebene Datei nicht finden. (Ausnahme von HRESULT: 0x80070002)

Stack:    bei TaskScheduler.TaskSchedulerClass.GetFolder(String Path)

   bei Microsoft.WindowsServerSolutions.Common.WindowsTaskScheduler..ctor(String taskPath, String taskName)

 

[8092] 130418.142709.7697: Storage: Error Retrieving Server Backup Task Status: ErrorCode:0

BaseException: Microsoft.WindowsServerSolutions.Storage.Common.StorageException: GetServerBackupTaskStatus: fail to find the task —> Microsoft.WindowsServerSolutions.Common.WindowsTaskSchedulerException: Failed to find the task path —> System.IO.FileNotFoundException: Das System kann die angegebene Datei nicht finden. (Ausnahme von HRESULT: 0x80070002)

   bei TaskScheduler.TaskSchedulerClass.GetFolder(String Path)

   bei Microsoft.WindowsServerSolutions.Common.WindowsTaskScheduler..ctor(String taskPath, String taskName)

   — Ende der internen Ausnahmestapelüberwachung —

   bei Microsoft.WindowsServerSolutions.Common.WindowsTaskScheduler..ctor(String taskPath, String taskName)

   bei Microsoft.WindowsServerSolutions.Storage.Common.ServerBackupUtility.GetServerBackupTaskStatus()

   — Ende der internen Ausnahmestapelüberwachung —

   bei Microsoft.WindowsServerSolutions.Storage.Common.ServerBackupUtility.GetServerBackupTaskStatus()

   bei Microsoft.WindowsServerSolutions.Storage.MoveData.Helper.get_ServerBackupTaskState()

[8092] 130418.142711.3244: Storage: Backup Task State: Unknown

 

Am Ende gehts nur darum, dass vom Wizard geprüft wird, ob ein Backup gerade am Laufen ist, bzw. ob Backup-Tasks eingerichtet sind. Denn diese sollten dann deaktiviert werden, bzw. der Vorgang bei aktivem Backup, generell abgebrochen werden.

 

In diesem Fall stellt sich, wie so oft die Frage: Muss das sein? Warum können die Herren bei MS nicht ordentliche Log-Dateien erzeugen? Wer hier loslegt, verschwendet schnell seine wertvolle Zeit, mit der Suche nach dem falschen Fehler! Wie z. B. hier zunächst geschehen: http://superuser.com/questions/471268/moving-data-files-failing.

 

Sinnvolle Ergänzungen, mehr Daten in LOG-Dateien

Wenn einem die LOG-Datei zu wenig hergibt, dann hat man die Möglichkeit mittels einer Konfigdatei logging.config etwas ausführlichere Infos zu bekommen. Wichtig dabei sind Einträge mit den Attributen “General” und “Unmatched”, welche man am Besten auf Verbose setzt.

 

Hilfreiche Blogartikel

Für eine erfolgreiche Migration sind auch diese Artikel zu beachten bzw. hilfreich:

 

http://blogs.technet.com/b/sbs/archive/2011/07/01/sbs-2011-standard-migrations-keys-to-success.aspx

http://blogs.technet.com/b/sbs/archive/2011/07/08/sbs-2011-standard-migrations-keys-to-success-part-2-the-setup-phase.aspx

http://blogs.technet.com/b/sbs/archive/2011/07/11/sbs-2011-standard-migration-keys-to-success-part-3-post-setup-and-common-failures.aspx

 

und noch ein Technet-Wiki: http://social.technet.microsoft.com/wiki/contents/articles/7919.sbs-2003-to-sbs-2011-migration-issues.aspx

Hyper-V 3.0 Remote Management Einrichtung mittels HVRemote endlich Server 2012 und Windows 8 kompatibel

15 April 2013

Wer einen Microsoft Hyper-V Server 2012 installiert und von Server 2012 oder Windows 8 aus administrieren möchte, der bleibt meistens bei HVREMOTE hängen. Doch leider gab es bisher keine offizielle Unterstützung für Windows 8 und Windows Server 2012 Remote Management Maschinen. https://newyear2006.wordpress.com/2012/07/10/hyper-v-3-0-remote-management-einrichtung-mit-hvremote-und-probleme-mit-windows-8/

Nachdem wahrscheinlich schon niemand daran geglaubt hat, dass es noch eine Aktualisierung von HVREMOTE.WSF geben könnte, ist nun doch die neue Version 1.06 verfügbar: http://code.msdn.microsoft.com/windowsdesktop/Hyper-V-Remote-Management-26d127c6.

Eigentlich hatte ich immer gedacht, es braucht solange, weil gleich ein Powershell Script gebastelt wird, aber weit gefehlt, es wird immer noch alte Scriptingtechnik eingesetzt.