close
beitragsbild-source-code-scripting-coding-terminal

Wie ja mittlerweile so gut wie alle wissen wurde InfoPath von Microsoft abgekündigt. Und auch wenn der Support noch für einige Jahre seitens Microsoft sichergestellt ist, machen sich unsere Kunden Gedanken zu alternativen Formularlösungen für SharePoint.

Eine Möglichkeit InfoPath Formulare und deren Logik abzulösen ist z.B. Nintex Forms. Nachdem man das Nintex Formular fertig erstellt und mit allen Funktionen des bisherigen InfoPath Formulars versehen hat, reichen ein paar Klicks um das neue Formular zu exportieren und auf eine Liste zu übertragen. Das geht über die GUI sehr schnell und komfortabel.

Was aber wenn man es mit einem Projektportal mit hunderten Projekten zu tun hat? Wobei jedes Projekt eine Site darstellt in der eine Liste mit einem InfoPath Formular existiert? Sicher, man kann die hunderten Formulare manuell umstellen, was aber sicher ein paar Tage dauern wird und fehleranfällig ist.

Eleganter ist es das Austauschen mittels PowerShell zu erledigen. Der erste Schritt dazu ist das alte InfoPath Formular zu deaktivieren und zu löschen. Ansonsten kann man gerne ein anderes Formular zuweisen, aber SharePoint wird noch immer versuchen InfoPath zu öffnen.

Wir haben dazu ein Script erstellt das grob beschrieben folgende Schritte erledigt:

  1. Es durchläuft alle Sub Sites einer Start Site die frei angegeben werden kann.
  2. In jeder Sub Site sucht es nach einer bestimmten Liste. In diesem Beispiel „Tasks“.
  3. Innerhalb der Liste wird ein bestimmter Content Type gesucht.
  4. Wurde dieser Content Type gefunden wird das zugehörige InfoPath Formular deaktiviert und auf das SharePoint Standard Formular zurückgestellt.
  5. WICHTIG: Danach müssen auch alle Formular URLs zurückgesetzt werden, sonst wird nach wie vor nach den .aspx Files für InfoPath gesucht (z.B. editifs.aspx)
  6. Im Anschluss werden alle nicht mehr benötigten Dateien aus dem Ordner des Content Types entfernt. Dieser Schritt ist nicht unbedingt nötig, aber man will ja keine Karteileichen herumliegen haben 😉 ?
  7. Zuletzt nicht vergessen den Content Type und die Liste zu aktualisieren.

Und hier das fertige Script:

Code downloaden

Danach kann man mit der automatisierten Verteilung der neuen Formulare (z.B. Nintex) starten. Hoffe dieser kurze PowerShell Ausflug konnte weiterhelfen. Wer Fragen zu dem Thema hat kann uns natürlich gerne kontaktieren 🙂 .

Tags : InfoPathPowerShellSharePoint
Markus Reisinger

The author Markus Reisinger

Markus Reisinger ist leitender SharePoint Senior Berater und kann auf mehr als 14 Jahre Berufserfahrung im Bereich der Software-Entwicklung, Webdesign und technisches IT-Consulting sowie Architekturberatung zurückblicken. Seit 2007 berät, implementiert und entwickelt er SharePoint Lösungen. In seiner Funktion als leitender Berater ist Markus hauptverantwortlich für SharePoint Kundenprojekte aus allen Segmenten in Österreich, Deutschland und der Schweiz. Mit seinem Team berät und entwickelt er heute SharePoint 2016 On-Premises Lösungen sowie hybride SharePoint Cloud Applikationen und Architekturen mit Office 365 SharePoint Online und Microsoft Azure IaaS/PasS.

Leave a Response