Dynamische Variablen

Posted on: 30. Oktober 2018
Dynamische Variabeln können gerade bei umfangreicheren Scripts interessant sein.  Wir schauen an wie du sie erzeugst, veränderst, reinigst und schlussendlich wieder entfernst. Ein kleines Beispiel anhand der Prozesse ist auch dabei.

Denk dran: solltest du Wünsche oder Anregungen für Themen und Beträge haben, dann lass es mich bitte wissen z.B. in einem Kommentar oder oben auf dem Input-Formular
Hier der Code aus dem Youtube-Video. Die Vorgehensweise und Bemerkungen findest du direkt als Kommentare (#Grün) im Code. So wird er dir ebenfalls in der PowerSHELL ISE angezeigt werden.
——————————————–
# Neue Variabel erstellen            
# New-Variable            
            
# Variabel lesen            
# Get-Variable            
            
# Variabel schreiben            
# Set-Variable            
            
# Variabel Inhalt löschen            
# Clear-Variable            
            
# Variabel entfernen            
# Remove-Variable            
            
# Erstellen der Variabel $a             
New-Variable -Name a -Value "Hallo Welt" -Description "Das ist eine Beschreibung" -Option ReadOnly            
            
# Beschreibung einer Variabel ausgeben            
(Get-Variable -Name a).Description            
            
# Wert einer Schreibgeschützten Variabel überschreiben            
Set-Variable a -Value 100 -Force            
            
# Wert der Variabel ausgeben            
Get-Variable a -ValueOnly            
            
# Inhalt der Variabel löschen bzw. auf $Null setzen            
Clear-Variable a -Force            
            
# Entfernen der Variabel            
Remove-Variable a -Force             
            
# Anzahl dynamischer Variabeln festlegen            
$Anzahl = 100            
            
# Array zum Sammeln aller dynamisch erzeugten Variabeln            
$AlleVariabeln = @()            
            
for ($i=0;$i -lt $Anzahl;$i++)            
{            
    # Variabel erzeugen und an Array übergeben            
    $AlleVariabeln += New-Variable -Name "MyVar$(Get-Random -Minimum 10000 -Maximum 99999)" -Value (Get-Random (0..1000)) -Visibility Public -PassThru            
            
}            
            
# Anzahl Dynamischer Variabeln ausgeben            
(Get-Variable "MyVar*").Count            
            
# Dynamische Variabeln entfernen            
Get-Variable "MyVar*" | Remove-Variable            
            
# Dynamische Variabeln mit Prozessen und Prozess-Objekten            
Get-Process | % {New-Variable -Name "Process$($_.Name + $_.ID)" -Value $_ -Description $_.Name -Force}            
            
# Finden der dynamischen Variabel für den Rechner (Calculator)            
Get-Variable "Processcalc*"            
            
# Testen ob dynamische Variabel für Rechner vorhanden ist            
if (Get-Variable "Processcalc*"){"Vorhanden"}else{"Nicht vorhanden"}
# Prozess über dynamische Variabel beenden (kill)            
(Get-Variable "Processcalc*").kill()            
            
# Dynamische prozess Variabeln löschen            
Get-Variable "Process*" | Remove-Variable
——————————————–
Solltest du irgendwelche Fragen haben, dann kannst du diese gerne entweder hier im Blog oder direkt unter dem YouTube Video stellen. Ich gebe alles, deine Fragen zeitnahe zu beantworten oder ein entsprechendes Video darüber zu machen.
Gerade die Grundlagen-Videos werde ich nicht mit viel Text ausschmücken. Bei mir ist jeweils jede Code-Zeile direkt im Code Kommentiert (#Grün). Du kannst den Code direkt mit in dein Script kopieren und hast so eine gute Orientierungshilfe, sobald du die Scripts auf deine Bedürfnisse anpasst.

Ich erstelle und veröffentliche sämtliche Videos kostenlos und blende auch keine Werbung ein, dies will ich auch so beibehalten. Da das vermittelte Wissen aber in teuren Kursen erlangt werden kann, ist eine kleine Spende hin und wieder sicher keine schlechte Gegenleistung.