PowerShell Muuttujat ja Taulukot

0 Comments

edellisessä artikkelissa, nimeltään PowerShell Scripting Opetusohjelma Aloittelijoille, me tutkia miten käyttää PowerShell-konsolin suorita skriptit ja oppinut, mitä cmdlets ovat, miten saada niiden ominaisuuksia ja miten käyttää putket siirtää tiedot yhdestä cmdlet-komentoa toiseen.

tässä artikkelissa, me siirrymme muuttujat ja taulukot, mukaan lukien, mitä ne ovat ja miten voimme luoda, poistaa ja muuttaa niitä.,i>Luettelo muuttujat

  • Määritä muuttuja
  • Saada muuttuja
  • Tulostaa muuttujan
  • Selkeä muuttuja
  • Poista muuttuja
  • PowerShell Taulukot
    • Array List
    • Array Indeksi
    • Moniulotteiset Taulukot
  • PowerShell Array Esimerkkejä
    • Sort array
    • Lisää array
    • Array pituus
    • Poistaa kohteen sijainnista
    • Array sisältää
    • Selkeä array
    • Tulostettava taulukko
    • Silmukan läpi array
  • PowerShell Muuttujat

    – muuttuja on yksikön muistiin, johon arvot tallennetaan., Muuttuja PowerShell alkaa ”$” (dollarin merkki) ja sen nimi voi sisältää mitä tahansa kirjaimia, numeroita ja alaviivoja. Voit määrittää arvon muuttujan, käytämme ” = ” operaattori. Jos haluat näyttää muuttujan arvon, syötä muuttuja.,

    Jos lisäät numero, merkkijono, numero tulee automaattisesti merkkijono:

    $var1 = "Netwrix"$var2 = 2018$var3 = $var1 + $var2$var3

    Muuttuja Tyypit

    PowerShell-muuttujan tyyppi on asetettu automaattisesti arvon perusteella voit määrittää, mutta voit myös määrittää tyypin manuaalisesti:

    $var1 = "Netwrix"

    selvittää, mitä tyyppinen muuttuja on, käytämme ”GetType ()” – parametri:

    $var1 = "Netwrix"$var1.GetType().FullName

    Kuten näemme, meidän $var1 muuttuja on ”Järjestelmä.,String ” – tyyppi.

    seuraavassa on kuvaukset kaikista PowerShell muuttuja tyypit:

    Olet luultavasti jo ymmärtänyt, että et voi kirjoittaa muuttuja ei vain joitakin konkreettisia arvo ja huomasin, että luokan Järjestelmä.Esine pöydällä. Tähän muuttujaan voit kirjoittaa lähtö tahansa cmdlet.

    muuttuva soveltamisala

    muuttuva soveltamisala Powershellissa voi olla joko paikallinen tai maailmanlaajuinen. Oletuksena muuttujan laajuus on paikallinen., Muuttuja rajaavat sen nykyistä soveltamisalaa; esimerkiksi paikallinen muuttuja voi olla käytettävissä nykyisen toiminnon tai käsikirjoituksen, kun taas globaali muuttuja on aktiivinen koko nykyinen PowerShell-istunto. Tarkoittamaan globaali muuttuja, käytä muotoa $Global: muuttuja = arvo, kuten on esitetty seuraava komento:

    $Global:var4 = 12

    PowerShell Muuttuja Esimerkkejä

    Luettelo muuttujat

    luettelo kaikista tällä hetkellä käytettävissä olevat muuttujat, suorita onko muuttuja:* komento., Tässä on esimerkki lähtö:

    Määritä muuttuja

    Voit luoda muuttujan, yksinkertaisesti määrittämällä sen arvon. Esimerkiksi komento $var4 = ”variableexample” luo muuttujan nimeltä $var4 ja antaa sille merkkijonon arvon. Kaksinkertaiset lainausmerkit ( ”” ) osoittavat, että muuttujalle on annettu merkkijonoarvo.

    Hae muuttuja

    Tämä on hyvin samanlainen lista muuttuja komento, vain käyttää toista cmdlet-komento:

    Get-Variable | Out-String

    Tulosta muuttujan

    Voit tulostaa muuttujan .txt,.csv tai HTML-tiedosto.

    kirjoittaa A: lle .,txt-tiedosto, käyttää Out-Tiedosto komennolla:

    $var5 = "Hello World!"$var5 | Out-File C:\scripts\Hello_World.txt

    tietojen vienti .,”d2d13912ee”>

    Ja kirjoittaa HTML-tiedostoon, käytä ConvertTo-Html-komento:

    $var6 = Get-Process$var6 | ConvertTo-Html -Property Name, Path > C:\scripts\processes.html

    lue tiedosto, joka me viedään, me käyttää Päästä-Sisältö-cmdlet-komentoa:

    Get-Content C:\scripts\processes.csv

    Selkeä muuttuja

    tyhjennä sisältö muuttuja, käytä Selkeä-Muuttuja-cmdlet-komentoa:

    Clear-Variable -name var6 #without $

    Poista muuttuja

    poistaa kokonaan muuttuja, käytä Poista-Muuttuja-cmdlet-komentoa:

    Remove-Variable -name var6 #without $

    PowerShell Taulukot

    array on eräänlainen muuttuja., Se on joukko komponentteja (array elementtejä) järjestetty tietyssä järjestyksessä. Matriisin osat numeroidaan peräkkäin, ja niihin pääsee käsiksi käyttämällä sen indeksinumeroa.

    matriiseja luodessa on hyvä olla tietoinen Oletusvoimakäyttäytymisestä. Jos luot array useita elementtejä, PowerShell luo array, kuten aiot. Esimerkiksi laittaa muutamia numeroita osaksi array ja sitten tarkistaa tiedot tyyppi muuttuja:

    $array1 = 1, 2, 3$array1.GetType()

    Kuten voit nähdä, tässä tapauksessa, PowerShell luotu array (Järjestelmä.Matriisi).,

    Kuitenkin, jos laitat vain yhden arvon muuttujaan, sitten PowerShell ei luoda array:

    $array1 = 1$array1.GetType()

    tietenkin, et voi aina kertoa etukäteen, kuinka monta objektia on saanut seurauksena suorittamalla tietty komento, joten sinun täytyy olla koodi, joka tulee aina hoitaa tulos array.

    voit tehdä tämän monella tavalla. Esimerkiksi, voit käyttää”, ” operaattori. Jos pilkkua käytetään binary operaattori, sitten normaali matriisi on luotu; jos sitä käytetään unaari operaattori, array on vain yksi elementti., Esimerkiksi, tässä on, miten voimme saada array, joka koostuu yksi elementti:

    $array1 = ,1$array1.GetType()

    Vaihtoehtoisesti, voit erikseen määrittää tietotyypin muuttuja:

    ]$array1 = 1$array1.GetType()

    Lopuksi, voit myös luoda array käyttäen subexpression operaattori ”@”, joka muodostaa matriisin, vaikka mitään esineitä kaikilla on määritetty. Se on erittäin kätevä alustaa muuttujan joukko, ja sitten lisätä esineitä siihen murehtimatta niiden määrä.,

    $array3 = @()$array3.GetType()

    Huomaa, että jokainen elementti array on oma tietotyyppi, ja tyyppi-objekti sallii sinun lisätä mitään arvoja array. Tarvittaessa voit rajoittaa ryhmän jäsenet tiettyyn tietotyyppiin – sitten luot ”kirjoitetaan array”., Esimerkiksi, voit määrittää, että array elementtejä täytyy olla kokonaisluku arvot:

    ]$array1 = 1$array1.GetType()

    Ja niin me määrittelemme järjestelmän prosesseja, kuten array jäsenet:

    ]$array1 = Get-Process$array1.GetType()

    Array List

    Jos aiot muuttaa tai etsi array usein, voit käyttää ArrayList-luokan, joka on suunniteltu voit helposti lisätä, poistaa ja etsiä kohteita sitä:

    $array3 = New-Object System.Collections.ArrayList

    Array Indeksi

    indeksi array on arvo, joka on yleensä numeerinen kokonaisluku, jota käytetään tunnistamaan ja viite array elementti., Array indeksit alkavat joko nolla tai yksi, riippuen ohjelmointikielen. Windows PowerShell taulukot ovat nolla-pohjainen, joten katso ensimmäinen osa array $var3 (”elementti nolla”), voit kirjoittaa $var3 .

    $var3 = "first", "second", "third"

    Moniulotteiset Taulukot

    Moniulotteiset taulukot ovat muuttujia, joita voidaan käyttää tallentaa tietoja taulukossa, ilman kirjoittaa sen todellinen tietokanta. Se näyttää hash-taulukko, mutta se voi tallentaa erilaisia tietoja, kuten jouset ja kokonaislukuja., Itse asiassa, voit kuvitella moniulotteinen array kuin taulukko sarakkeet ja rivit, jossa jokaisella solulla on oma indeksi sisällä PowerShell ympäristössä.

    PowerShell Array Esimerkkejä

    Sort array

    Jos joukko sisältää vain yhden tiedon tyyppi, voit lajitella arvot käyttäen Sellaista menetelmää:

    $array3 | Sort

    lajitella array, joissa on enemmän kuin yksi tietotyyppi, sinun täytyy käyttää Sort-Object-cmdlet-komentoa.,

    Lisää array

    Ensimmäinen, nyt luoda array:

    $array5 = "one", "two", "three", "four", "five"$array5.gettype()

    helposti muuttaa meidän array, meidän täytyy lisätä sen arraylist kokoelma:

    $ArrayList1 = $array5$ArrayList1.GetType()

    Kuten voit nähdä, BaseType on muuttunut, ja voimme helposti muuttaa meidän array nyt:

    $ArrayList1.Add("six")$ArrayList1.Remove("three")$ArrayList1

    Array pituus

    palata määrä elementtejä array, käytä .,pituus parametri:

    $array6 = 1,2,3,4,5,6echo $array6.Length

    Poistaa kohteen array

    jos Haluat poistaa kohteen, käytä .Poista komento., Jälleen, se on parempi käyttää arraylist:

    $ArrayList1 = $array5$ArrayList1.GetType()$ArrayList1.Remove("three")$ArrayList1

    Array sisältää

    Jos haluat nähdä, jos kaikki elementtejä array sisältää tietyn arvon, käytä Sisältää-menetelmä:

    $array7 = 1,2,5,8,3,4,5$array7.Contains(2)$array7.Contains(12)

    Selkeä array

    vaikka useimmat array toimintaa PowerShell on suhteellisen helppo toteuttaa, ei ole yksinkertaisesti tapa poistaa array., Helpoin tapa päästä eroon koko array on määrittää muuttujan $null se:

    $array7 = $null$array7

    Voit tarkistaa, jos joukko on tyhjä, suorita seuraava kirjoitus:

    $array7 -eq $null

    PowerShell, jos muuttuja on null, et voi käyttää mitään menetelmiä siihen.

    Print array

    koko joukon tulostamiseen voidaan käyttää samoja muuttujien tulostusmenetelmiä.

    kirjoittaa A: lle .txt-tiedosto, käyttää Out-Tiedosto komennolla:

    $var5 | Out-File C:\scripts\array.txt

    viedä .,csv-tiedosto, käyttää Export-Csv-komennolla:

    $var6 | Export-Csv -Path C:\scripts\array.csv

    Ja kirjoittaa HTML-tiedostoon, käytä ConvertTo-Html-komento:

    $var6 | ConvertTo-Html > C:\scripts\processes.html

    Silmukan läpi array

    jotta voit kahva jokainen elementti array yksi toisensa jälkeen, meidän täytyy tehdä silmukka käyttäen foreach-operaattori. Esimerkiksi, jos me julistamme, string, array ja haluat laskea pituus kunkin sanan array, meidän pitäisi ajaa seuraava komentosarja:

    $array8 = @("Earth","Mercury","Venus","Jupiter","Saturn","Mars", "Neptune", "Pluto") foreach ($array in $array8) { "$array = " + $array.length }

    tässä artikkelissa, me oppineet muuttujat ja niiden tyypit., Sitten tutkimme yhden muuttuvan tyypin-array-yksityiskohtaisesti ja opimme pelaamaan sen kanssa. Näillä tiedoilla olet valmis sukeltamaan Powershelliin vielä syvemmälle.

    Jeff on Johtaja Global Solutions Engineering Netwrix. Hän on pitkäaikainen Netwrix-bloggaaja, puhuja ja juontaja. Vuonna Netwrix blogi, Jeff osakkeet lifehacks, vinkkejä ja temppuja, jotka voivat merkittävästi parantaa järjestelmän hallinta kokemus.


    Vastaa

    Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *