Powershell Script in Script ausführen
Hallo!
Ich habe hier momentan zwei verschiedene Skripte:
1. Skript zum Erstellen von Usern
2. Skript zum Erstellen der Mailbox
Beide Skripte laufen für sich alleine ohne Probleme. Allerdings möchte ich folgendes machen:
Wenn der Useraccount schon erstellt ist, möchte ich nur das zweite Skript ausführen. => Funktioniert ohne Probleme.
Wenn der Useraccount noch nicht erstellt ist, möchte ich das erste Skript ausführen, durchlaufen lassen und ein paar
Daten (Vorname, Nachname etc) in Variablen speichern. Anschließend soll automatisch das zweite Skript laufen und mit
den Variablen die zuvor gespeichert wurden die Mailbox erstellen.
Hat jemand eine Idee wie ich das ganze realisieren kann? Vielleicht mit Hilfe eines weiteren Skripts in dem das erste Skript
läuft, die Variablen speichertund dann an das zweite übergibt?
Vielleicht kann mir jemand einen Tipp geben.
Danke!
Ich habe hier momentan zwei verschiedene Skripte:
1. Skript zum Erstellen von Usern
2. Skript zum Erstellen der Mailbox
Beide Skripte laufen für sich alleine ohne Probleme. Allerdings möchte ich folgendes machen:
Wenn der Useraccount schon erstellt ist, möchte ich nur das zweite Skript ausführen. => Funktioniert ohne Probleme.
Wenn der Useraccount noch nicht erstellt ist, möchte ich das erste Skript ausführen, durchlaufen lassen und ein paar
Daten (Vorname, Nachname etc) in Variablen speichern. Anschließend soll automatisch das zweite Skript laufen und mit
den Variablen die zuvor gespeichert wurden die Mailbox erstellen.
Hat jemand eine Idee wie ich das ganze realisieren kann? Vielleicht mit Hilfe eines weiteren Skripts in dem das erste Skript
läuft, die Variablen speichertund dann an das zweite übergibt?
Vielleicht kann mir jemand einen Tipp geben.
Danke!
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 236872
Url: https://administrator.de/forum/powershell-script-in-script-ausfuehren-236872.html
Ausgedruckt am: 23.12.2024 um 03:12 Uhr
2 Kommentare
Neuester Kommentar
Hi,
ich würde das beides zusammen in eine "Function" packen, z.B. nach dem Schema:
dann kannst du das ganze als CMDLet mit deinen Parametern so aufrufen:
ansonsten wenn du es so belassen willst, rufst du ein anderes Script so mit Parametern auf:
Zur Info falls das noch nicht bekannt ist: Parameter kannst du in deinen Scripts hinzufügen indem du diese ganz am Anfang des Scriptes definierst:
Siehe dazu: http://technet.microsoft.com/de-de/magazine/jj554301.aspx
Dann gibt es noch eine weitere Methode, das sogenannte DOT-Sourcing mit dem man ein Script in das andere lädt und dabei die aktuellen Variablen erhält:
(man beachte den alleinstehenden Punkt am Anfang der Zeile).
Alle diese Methoden kannst du hier detailiert nachlesen: http://www.thomas-franke.net/including-scripts-functions-modules/
Grüße Uwe
ich würde das beides zusammen in eine "Function" packen, z.B. nach dem Schema:
function New-UserWithMailbox {
param(
[parameter(mandatory=$true)][ValidateNotNullOrEmpty()][string]$SamAccountName,
[parameter(mandatory=$true)][ValidateNotNullOrEmpty()][string]$UPN,
[parameter(mandatory=$true)][ValidateNotNullOrEmpty()][string]$Alias
)
$user = Get-AdUser $SamAccountName -ErrorAction SilentlyContinue
if ($user){
# User vorhanden / Nur Mailbox für User erzeugen
New-Mailbox ...............
}else{
# User nicht vorhanden / AD-User und Mailbox erstellen
new-aduser ................
new-mailbox .................
}
}
New-UserWithMailbox -SamAccountName maxmuster -UPN max.muster@domain.com -Alias MaxMuster
&"d:\deinAnderesScript.ps1" "Parameter1" "Parameter2"
Zur Info falls das noch nicht bekannt ist: Parameter kannst du in deinen Scripts hinzufügen indem du diese ganz am Anfang des Scriptes definierst:
param(
$parameter1,
$parameter2,
$parameter3
)
Dann gibt es noch eine weitere Methode, das sogenannte DOT-Sourcing mit dem man ein Script in das andere lädt und dabei die aktuellen Variablen erhält:
. "D:\deinZweitesScript.ps1"
Alle diese Methoden kannst du hier detailiert nachlesen: http://www.thomas-franke.net/including-scripts-functions-modules/
Grüße Uwe