in einem meiner Vorherigen Beiträge habe ich nach dem Hilfe für den Aufruf eines Skriptes mit Schaltern gefragt.
Hierbei ging es um diesen Codeschnipsel:
Param( [alias("H")][switch]$Help, [alias("A")][switch]$Admin, [alias("M")][switch]$Mailwaehlen, [alias("B")][switch]$Batch, [alias("C")][switch]$config, #Credential file Erstellung [switch]$create_pwd_file=$false, [switch]$force=$false ) if($Help){ Write-Host Write-Host " Aufruf mit Parametern [-r] [-a] [-h] " Write-Host Write-Host " `t -r ... Senden von VM Infos an gewuenschte E-Mail" Write-Host " `t -a ... Ausfuehrung als Admin mit Ausgabe aller Informationen:" Write-Host " `t`t`t VMName Owner Backup Local Backup Remote " Write-Host " `t`t`t Zustand vCPU vRAM vDisk HWVersion ToolsVersion " Write-Host " `t -h ... Anzeige dieser Hilfe Write-Host } if($Admin){ Write-Host admin } if($Mailwaehlen){ Write-Host "Anpassung EMail" } if($Batch){ Write-Host "Aufruf und Duchlauf des Skripts" } if($config){ Write-Host "Anpassung der Config Datei" }
Der Aufruf -h, -b, -m, -c und -a funktionieren ohne Probleme.
Nun kam mir der Gedanke, wie wäre es wenn ich das Skript beispielsweise mit zwei Schaltern aufrufen würde.
Und zwar würde dies so aussehen:
Test.ps1 -c -b
Das -c steht für den Aufruf der Konfigurationsdatei und das -b steht für den Durchlaufs für dieses Skriptes.
Wenn beim Aufruf des Skriptes -c mitgegeben wird, sollen die Einstellungen für die conf Datei erneut gesetzt werden können. Wenn diese Einstellungen gesetzt sind und der Pfad abgearbeitet ist, soll das Skript im ganz normal durchlaufen.
Wie muss ich [alias("B")][switch]$Batch anpassen?
Desweiteren habe ich mich überlegt, dass mit dem Schalter -p eine Passwortdatei erstellt werden.
Skript_PowerShell.ps1 -p [Datei] -b oder Skript_PowerShell.ps1 -b -p [Datei]
In den Klammern [] muss zwingend ein Argument also der Pfad zu der Datei stehen.
Dieser muss mitgegeben werden.
Beim Schalter -a sollen die auszulesen Informationen an eine E-Mail gesendet werden, welche zusätzlich erst noch nach einer Abfrage eingetragen werden muss.
Wie kann ich diese E-Mail schon beim Aufruf mitgeben.
Wie müsste ich diesen Aufruf ändern, damit dies funktioniert?: [alias("A")][switch]$Admin
Hoffentlich kann dieser Eintrag anderen, welche auch auf der Suche nach dieser Information sind helfen.
Mit freundlichen Grüßen
Alex