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.




SPWeb.Url ändern

Geprüfte Antwort Dieser Beitrag hat 8 Antworten

Ohne Rang
163 Beiträge
Markus Sallmutter erstellt 26 Nov. 2012 15:13
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo Community!

Ich stehe vor dem Problem, dass ich bei einer Vielzahl von webs die Url ändern muss. Da es sich um mehrere 100 Webs handelt, dachte ich natürlich sofort an die API. Ich versuche nun schon einige Zeit eine Lösung zu finden wie dies möglich ist, komme aber leider nicht weiter.

Über die Oberfläche ist das ändern der Url ja sehr einfach möglich unter Title,Description and Icon. Dort kann man via Web Site Adress einfach die Url des Webs ändern.

Kennt irgendjemand einen Weg dies über die API zu bewerkstelligen? Bin für jede Antwort/Hilfe/Hinweis dankbar :)

Mfg
Markus

Alle Antworten

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 26 Nov. 2012 15:31
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

[quote user="Markus Sallmutter"]Über die Oberfläche ist das ändern der Url ja sehr einfach möglich unter Title,Description and Icon. Dort kann man via Web Site Adress einfach die Url des Webs ändern.[/quote]

Versucht habe ich es nicht, aber ich habe mir kurz den Code genau dieser Seite angeschaut (Microsoft.SharePoint.ApplicationPages.ProjectSettingsPage) und dort wird wohl SPWeb.Name geändert. Versuche das doch mal.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
163 Beiträge
Markus Sallmutter Als Antwort am 26 Nov. 2012 15:39
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Wow vielen Dank für die schnelle Antwort Andi!

Ja du hast recht die Funktion, die über die Oberfläche möglich ist, wird mit SPWeb.Name geändert. Der Titel ist dann SPWeb.Title
Allerdings würde ich gerne eine radikalere Änderung der Url vornehmen.

Mit dem SPWeb.Name kann ich z.B. http://test/test1 in http://test/test2 ändern aber nicht in http://test/test1/test2

Kennt jemand eine Möglichkeit die Url wirklich gegen eine neue auszutauschen? Eventuell auch von einer Sitecollection in eine andere.

Der einzige mit bekannte Weg wäre ein Export via Powershell und ein Import mit der neuen url, aber ich würde es gerne in einer ConsoleApplication realisieren.

Mfg
Markus

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 26 Nov. 2012 17:36
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Beim SharePoint Server (nicht Foundation) gibt es über die Strukturansicht die Möglichkeit Websites umzuhängen. Du kannst ja mal nachschauen, welcher Code dahintersteckt. Aber auch das geht nur innerhalb einer SiteCollection. Darüberhinaus bleibt nur Export/Import.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
163 Beiträge
Markus Sallmutter Als Antwort am 27 Nov. 2012 07:59
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Danke für den Tipp Andi!

Ich habe nochmals die Spezifikation angesehen und erkannt, dass es mir reicht den SPWeb.Name zu ändern.

Ich würde es aber dennoch interessant finden, wie man das Web sitecollection weit verschieben kann. Kannst du mir eine kurze Anleitung geben, wie ich mir denn den Code genau dieser Seite anschauen kann? Damit könnte ich eventuell auch in Zukunft schneller Lösungen für meine Probleme finden.

Danke im voraus
Markus

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 27 Nov. 2012 08:34
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Nach dem, was Du oben geschrieben hast, dachte ich, Du wüßtest wie das geht ;-)

Gehe im Browser auf die Seite, deren Funktion Dich interessiert und schaue Dir die URL an. Meistens sind das sog. Application Pages, die im Layouts-Ordner liegen. In der URL erscheint das als _layouts und im Dateisystem findet man die unter 14/Template/Layouts. Jetzt gehst Du in diesen Ordner und öffnest die entsprechende aspx-Datei z.B. mit Notepad. In der <@ Page Direktive schaust Du nach, von welcher Klasse diese Seite abgeleitet ist. Die sind meist im Namespace Microsoft.SharePoint.ApplicationPages und der befindet sich in einer gleichnamigen Assembly. Die Assembly kannst Du jetzt mit dem Tool Deiner Wahl untersuchen, z.B. mit ILSpy.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
163 Beiträge
Markus Sallmutter Als Antwort am 27 Nov. 2012 08:48
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Vielen Dank für die Instruktionen ich werde das sobald ich Zeit habe gleich mal ausprobieren :)

Ohne Rang
63 Beiträge
sharxx Als Antwort am 27 Nov. 2012 08:53
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

@Andi: darf man das überhaupt in der Öffentlichkeit schreiben? ;-)

@Markus: Hallo ;-). du kannst das übrigens auch relativ einfach über die Powershell machen. Wenn du z.B. eine URL einer ganzen Sitecollection ändern willst -> http://jshidell.com/2012/06/26/moving-sharepoint-2010-site-collections-between-managed-paths-using-powershell/ 

lg, flo

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 27 Nov. 2012 08:57
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

[quote user="sharxx"]@Andi: darf man das überhaupt in der Öffentlichkeit schreiben? ;-)[/quote]

Ganz ehrlich: keine Ahnung. Verpetz mich bitte nicht :-)

Allerdings wird ja dadurch nichts verändert. Man schaut sich das ja nur an, aus reiner Neugier.

Viele Grüße
Andi
af @ evocom de
Blog