Alle Fragengruppen: IDE-FAQ
Skripte in einem Auftrag
Abschnitt betitelt „Skripte in einem Auftrag“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
SharePoint aus PowerShell
Abschnitt betitelt „SharePoint aus PowerShell“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