Infos

Sie befinden sich in den Archiven der Kategorie WIN 2008.

Calendar
Februar 2012
M D M D F S S
« Jan    
 12345
6789101112
13141516171819
20212223242526
272829  

Archiv der Kategorie WIN 2008

Backup-Script (Powershell) für Sp2010 aller SiteCollections und Websites einer Web-Application

Die Aufgabe:

Backup aller SiteCollections einer Web-Application und Export aller einzelnen Unterwebsites der SiteCollection.

Zweck:

Schnelles wieder herstellen von einzelnen Webseiten und SiteCollections wird damit möglich. Es muss nicht umständlich in eine andere Datenbank wieder hergestellt werden, um von dort auf die benötigten Webseiten zu exportieren und dann wieder in die produktive Umgebung zu importieren.

Dazu wird ein Powershell-Script verwendet, welches auch in die Schedules-Tasks unter Windows-Server eingebunden werden kann:

# Das Script erwartet 2 Argumente beim Aufruf
# .\backup.ps1 <WebApplicationUrl> <PfadZumBackUpVerzeichnis>

# Einlesen des Powershell-Snapin für Microsoft Office SharePoint, wenn es nicht schon geladen ist
#
if ( (Get-PSSnapin -Name ‘Microsoft.SharePoint.PowerShell’ -ErrorAction SilentlyContinue) -eq $null) {
Add-PSSnapin -Name ‘Microsoft.SharePoint.PowerShell’
}

# Übernehmen des Kommandozeilen-Arguments für die Web-Application[0] und den Backup-Pfad[1]
#
$siteUrl = $args[0]
$pfad = $args[1]

# Instanziieren des Web-Application Objekts
#
$rootSite = New-Object Microsoft.SharePoint.SPSite($siteUrl)
$spWebApp = $rootSite.WebApplication

# Durchlaufen aller SiteCollections in der Web-Application und Anlegen eines Backups mit dem Namen
# der obersten Website der SiteCollection (.bak) im Pfad, der als zweites Argument an das Script übergeben wurde

foreach($site in $spWebApp.Sites)

 $web = $site.OpenWeb()
 $Datei =$pfad + $web.Title + “.bak” # erhaschen des Titels der Website auf oberster Ebene der SiteCollection
 write-host $Datei
 Backup-SPsite -Identity $site.url -Path $Datei –Force

 # Durchlaufen aller Webseiten der Site-Collection und Export dieser Webseiten
 #
 foreach($website in $site.Allwebs)
 {
  # Der Name der exportierten Webseite wird zusammengesetz aus <<Name der SiteCollection>-<Name der Website>>.exp
  #
  $Datei = $pfad + $web.Title + “-” + $website.Title + “.exp” # erhaschen des Titels der Website die als nächtes exportiert wird
  Export-SPweb -Identity $website.url -Path $Datei
 }
 $site.dispose()
}

# Anmerkungen
# Aufruf des Scripts:
# Vom CMD-Prompt oder aus einem Scheduled Task: powershell <pfad>\backup.ps1 <WebApplicationUrl> <PfadZumBackUpVerzeichnis>
#
# Wiederherstellen von SiteCollections
# Restore-SPSite –Identity http://servername/your/directory -Path <Pfad>\NameDerBackupDatei.bak –Force
#
# Wiederherstellen von WebSites
# Import-SPWeb –Identity http://servername/your/directory -Path <pfad>\NameDerBackupDatei.exp –Force -IncludeUserSecurity

Windows Aufgabenplanung Fehler 0×1 bei automatischer Ausführung einer Batch-Datei

Folgendes Szenario:
Sie haben eine Batch (.bat) oder Command (.cmd) Datei erstellt, die einige Dinge auf Ihrem Server oder Rechner automatisieren soll. Nun haben Sie dieses Script getestet und es funktioniert einwandfrei.

Jetzt soll das Script via Windows Aufgabenplanung (Task Scheduling) automatisch jeden Tag zu einem bestimmten Zeitpunkt ausgeführt werden. Also erstellen Sie eine Aufgabe in der Aufgabenplanung und geben alle notwendigen Parameter ein. Um das Ganze zu testen lassen Sie die Aufgabe ausführen und stellen erstaunt fest, dass die Aufgabe mit dem Fehlercode (0×1) beendet wird.
Nach vielen Versuchen, und während sie langsam verzweifeln, werden die herausfinden, das der Fehlercode bedeutet, dass eine Funktion nicht gefunden werden konnt. Eine Funktion in einem Batch-Skipt? *Kopfkratz*

Um es einfach zu machen: Irgendwo in Ihrem Script befindet sich bestimmt z.B. ein @echo Befehl. Dieser ist der Übeltäter, denn in der Aufgabenplanung werden die Aufgaben standardmäßig nicht in einem Fenster ausgeführt. Es öffnet sich also kein Command-Fenster in dem das Skipt abläuft. Also hat der arme @echo Befehl keinerlei Ausgabemedium in das er sein ECHO ausführen kann, und darüber ist er traurig und meldet einen Fehler.

Lösung: Entweder alle Befehle, die eine Ausgabe am Bildschirm erzeugen raus nehmen, oder die Ausgabe in eine Datei umleiten, in dem Sie in der Aufgabenplanung als Parameter zu Ihrem Batch-Aufruf einfach ein “> log.txt” hinzufügen. Dann funktioniert alles wieder wunderbar.

MOSS große Listeneintrag Anlage wird nicht hochgeladen / MOSS large list item attachment not uploading

Wenn große Anlagen an Listenenträge nicht hochgeladen werden können, ist es nicht ausreichend die maximale Upload Größe in der Zentraladministration zu erhöhen. Es sind noch einige andere Dinge in den Web.config Dateien zu tun.
———————————-

When uploading large list item attachments results in errors it is not sufficient to raise the maximum upload size in central administration. There are some entries to add to the web.config files.

Den Rest des Eintrags lesen »

|