Arrays: Unterschied zwischen den Versionen

Aus Wiki-WebPerfect
Wechseln zu: Navigation, Suche
 
Zeile 29: Zeile 29:
  
 
== Array to Hashtable to JSON ''(Name: Value)'' ==
 
== Array to Hashtable to JSON ''(Name: Value)'' ==
 +
=== Input ===
 +
Mode                LastWriteTime        Length Name                                                                                                                                                                                                           
 +
----                -------------        ------ ----                                                                                                                                                                                                           
 +
-a----      27.05.2016    01:46        773288 accesschk.exe                                                                                                                                                                                                 
 +
-a----      27.05.2016    01:44        403120 accesschk64.exe                                                                                                                                                                                               
 +
-a----      01.11.2006    13:06        174968 AccessEnum.exe                                                                                                                                                                                                 
 +
-a----      12.07.2007    06:26          50379 AdExplorer.chm                                                                                                                                                                                                 
 +
-a----      14.11.2012    10:22        479832 ADExplorer.exe
 +
 +
 +
=== Generate Name: Value JSON-Table ===
 
<source lang="powershell">
 
<source lang="powershell">
 
$Items = Get-ChildItem -Path * -File
 
$Items = Get-ChildItem -Path * -File

Aktuelle Version vom 11. Februar 2019, 15:15 Uhr

Variable als Array definieren

 $Variable = @()


In einer Foreach-Schlaufe, mehrere PowerShell-Objekte in ein Array laden/hinzufügen (+=)

Wenn mehrere PowerShell-Objekte in Array geladen werden müssen, muss man das Array zuerst definieren. -> $Array = @() Falls der Array nicht im vorhinein definiert wird, erscheint folgender Fehler:
Method invocation failed because [Microsoft.Management.Infrastructure.CimInstance] does not contain a method named 'op_Addition'.


Item aus einem Array entfernen

Um ein Item aus einem Array entfernen zu können, muss das Array zuerst als System.Collections.ArrayList definiert werden:

[System.Collections.ArrayList]$Array = $Array

danach kann mit der Methode Remove das Item entfernt werden:

$Array.Remove("zu_entfernendes_item")

Wenn das Array nicht zuerst als System.Collections.ArrayList definiert wird, erscheint folgende Fehlermeldung:
Exception calling "Remove" with "1" argument(s): "Collection was of a fixed size."


Weitere Informationen:




Array to Hashtable to JSON (Name: Value)

Input

Mode                LastWriteTime         Length Name                                                                                                                                                                                                            
----                -------------         ------ ----                                                                                                                                                                                                            
-a----       27.05.2016     01:46         773288 accesschk.exe                                                                                                                                                                                                   
-a----       27.05.2016     01:44         403120 accesschk64.exe                                                                                                                                                                                                 
-a----       01.11.2006     13:06         174968 AccessEnum.exe                                                                                                                                                                                                  
-a----       12.07.2007     06:26          50379 AdExplorer.chm                                                                                                                                                                                                  
-a----       14.11.2012     10:22         479832 ADExplorer.exe


Generate Name: Value JSON-Table

$Items = Get-ChildItem -Path * -File
$report = @()
 
Foreach ($Item in $Items) {
    $table = @{
        $Item.Name = $Item.Length
    }
    $report += $table
}
 
$report | ConvertTo-Json


Output

$report | ConvertTo-Json
[
    {
        "accesschk.exe":  773288
    },
    {
        "accesschk64.exe":  403120
    },
    {
        "AccessEnum.exe":  174968
    },
    {
        "AdExplorer.chm":  50379
    },
    {
        "ADExplorer.exe":  479832
    }
]