Zum Inhalt springen
Contact us

FAQ: PowerShell

Alle Fragengruppen: IDE-FAQ

Kann ich eigene PowerShell-Skripte in einem Auftrag ausführen?

Ja, in einem PowerShell-Schritt. Das Skript kann während der Ausführung SMART Migration-Variablen lesen, sie setzen und in das Sitzungsprotokoll schreiben. Ihr eigenes Skript läuft unter jeder Ausführungsrichtlinie; ein Skript, das ein Modul wie PnP.PowerShell lädt, benötigt RemoteSigned – in einer als Administrator gestarteten PowerShell: Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope LocalMachine.

Mehr erfahren: PowerShell · PowerShell-Beispiele

Wie übergebe ich Variablen zwischen einem Auftrag und meinem Skript?

$MyVariable = Get-FlowVariable -Name "[<My Variable>]" liest eine SMART Migration-Variable in PowerShell ein, und Set-FlowVariable -Name "[<My Variable>]" -Value $MyVariable schreibt eine zurück. Variablen vom Typ Passwort können gelesen werden – ihr Wert wird dabei nicht in der Konsole ausgegeben –, aber nicht gesetzt.

Mehr erfahren: Get-FlowVariable · Set-FlowVariable

Wie schreibe ich aus einem Skript in das Sitzungsprotokoll?

Mit Add-FlowLogRow -LogType "Information" -Message "…". Der Befehl arbeitet asynchron, sodass Sie den Fortschritt des Skripts während der Ausführung auf der Registerkarte „Auftrag“ des Schritts verfolgen können. -LogType kann außerdem Warning, Error (wird so behandelt, wie es die Einstellung Bei Fehler des Schritts vorgibt), StopJob, das den Auftrag beendet, oder ExitGroup sein, das den aktuellen Gruppenschritt verlässt.

Mehr erfahren: Add-FlowLogRow

Wie verbinde ich mich aus einem Skript mit SharePoint?

Mit Connect-PnPOnline über eine SharePoint-Verbindung von SMART Migration: SMART Migration erzeugt die Befehle, die deren Authentifizierungsdaten abrufen – Get-FlowSPConnection mit -Property Url, AppId oder AppSecret –, und baut daraus die Connect-PnPOnline-Anweisung auf.

Mehr erfahren: Connect-PnPOnline aus SMART Migration · PowerShell-Beispiele

Was muss ich für PnP PowerShell installieren?

PowerShell 7.2 oder höher – winget install --id Microsoft.Powershell --source winget in einer als Administrator ausgeführten PowerShell –, anschließend das Modul PnP.PowerShell sowie eine Ausführungsrichtlinie, die das Laden des Moduls zulässt: RemoteSigned, mit Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope LocalMachine (Restricted, die Standardeinstellung von Windows 11, blockiert es). Visual Studio Code wird nur benötigt, um die Module anzupassen.

Mehr erfahren: PnP.PowerShell-Installation