AD-tietokoneiden lisääminen Powershell-taulukkoon

15. syyskuuta 2020 1220 Näkymät powershell lisää mainostietokoneita taulukkoon

Selaa viestien aiheita

Johdanto

On yksi tapa lisätä AD-tietokoneita PowerShell-taulukkoon. APowerShell-taulukko on tietorakenne, joka tallentaa kokoelman kohteita.

Ihannetapauksessa, kun suoritat PowerShell Get-ADComputer -komennon, tulos tallennetaan automaattisesti taulukkoon. Jotkut järjestelmänvalvojat voivat kuitenkin kohdata ongelmia tietojen käsittelyssä taulukon tallennustavan vuoksi.

Tässä oppaassa yksinkertaistan AD-tietokoneiden lisäämistä PowerShell-taulukkoon. Näytän erilaisia ​​tapoja käsitellä taulukon tietoja. Oppaassa käsitellään myös AD-tietokoneiden käyttöä PowerShell-taulukossa aForEach-lauseessa.

Ennen kuin aloitat AD-tietokoneiden käsittelyn Powershell-taulukossa, sinun on palautettava tietokoneet. Seuraavassa osiossa havainnollistetaan AD-tietokoneiden hankkimista PowerShell Get-ADComputer -komennolla.

AD-tietokoneiden hankkiminen Active Directorysta

Hanki AD-tietokoneita suorittamalla alla oleva komento:

|_+_|

Komento palauttaa kaikkien toimialueen tietokoneiden nimet.

powershell lisää adtietokoneet taulukkoesimerkkiinYllä olevan komennon suorittamista tuotantoympäristössä EI suositella. Tämä johtuu siitä, että jos sinulla on tuhansia tietokoneita, se voi kestää liian kauan. Saattaa olla parempi käyttää vaihtoehtoista suodatusta *:n sijaan.

Katso yllä olevan komennon tulos. Sanoin aiemmin, että kun haet AD-tietokoneita, se on jo PowerShell-taulukossa.

Vahvista tämä suorittamalla alla oleva komento:

|_+_|

Tässä on tulos

Kääriin edellisen komennon yksinkertaisesti ()-operaattoriksi ja käytin GetType menetelmä määrittääksesi palautetun PowerShell-objektin tyypin.

Tulos vahvistaa, että Get-ADComputer-komennon tulos on a System.array .

Joten, jos se on taulukko, miksi ihmiset edelleen hakevat powershell-hakua lisäämällä mainostietokoneita taulukkoon?

Vastaan ​​tähän kysymykseen tämän oppaan loppuosassa. Sisältää kuinka AD-tietokoneita lisätään taulukkoon muuttujan kautta. Ja kuinka valmistelet tiedot käytettäväksi aForEach-lauseessa.

PowerShell Lisää AD-tietokoneita taulukkoon

Voit lisätä AD-tietokoneita taulukkoon useilla eri tavoilla:

PowerShell Lisää AD-tietokoneita taulukkoon ilman muuttujaa

Kuten edellisessä osiossa jo mainittiin, kun haet tietokoneita Active Directorysta Get-ADComputerin avulla, tulos on jo taulukossa.

Uskon, että useimmat ihmiset saattavat ajatella, että se ei ole taulukossa, johtuu tietojen esittämistavasta.

Tarkastellaan komentoa uudelleen. Tässä se on:

|_+_|

Ja tulos:

PowerShell Lisää AD-tietokoneita taulukkoon ilman muuttujia

Huomaa, että tuloksella on otsikko, nimeltään Nimi . Tämä on objektiominaisuus, jonka palautimme Select-Object-komennolla.

Tämä ei sinänsä ole ongelma. Mutta jos yrität käyttää tätä aForEach-lauseessa, se palauttaa virheitä. Varsinkin jos yrität käyttää arvoa toisessa PowerShell-komennossa ForEach-käskyssä.

Kuinka palautat arvot ilman ominaisuuden otsikkoa? Voit tehdä tämän kahdella tavalla.

Yksi, muuttamalla komentoa alla olevan kuvan mukaisesti:

|_+_|

Huomaa, että otsikko on poissa!

Toinen tapa poistaa otsikot tuloksesta on käyttää -Laajenna omaisuutta parametri Select-Object .

|_+_|

Tässä on tulos, kun otsikko on valmis.

PowerShell Lisää AD-tietokoneita taulukkoon muuttujan avulla

PowerShell-komentosarjassa muuttujat helpottavat tietojen hallintaa. Ensinnäkin se lyhentää komentosarjoidesi pituutta.

Jos haluat lisätä AD-tietokoneita PowerShell-taulukkoon muuttujan avulla, muokkaa komentoa alla kuvatulla tavalla:

|_+_|

Yllä oleva komento ei näytä palauttavan tulosta. Miksi? Koska tulos on nyt tallennettu $ADComputers muuttuva!

Varmistaaksesi, että tulos on tallennettu $ADComputers muuttuja, suorita alla oleva komento

|_+_|

Tässä on tuloksesi

Mutta ovatko AD-tietokoneet PowerShell-taulukossa? Selvitetään seuraavalla komennolla:

|_+_|

Tulos osoittaa, että AD-tietokoneet ovat edelleen taulukossa, vaikka ne on tallennettu muuttujaan!

PowerShell Lisää AD-tietokoneet taulukkoon ja ForEach-lauseeseen

PowerShellForEach-käskyn avulla voit iteroida objektikokoelmaa tiettyjen tehtävien suorittamiseksi.

Yksi sovellus voisi olla se, että haluat päivittää jokaisen Get-ADComputer-komennolla hakemasi AD-tietokoneen ominaisuudet.

Tässä komennossa oletan, että AD-tietokoneet on tallennettu $ADComputers-muuttujaan. Näin yhdistät taulukossasi olevien AD-tietokoneiden tulokset ForEach-lauseeseen.

|_+_|

Johtopäätös

AD-tietokoneiden lisääminen PowerShell-taulukkoon on yhtä yksinkertaista kuin tietokoneiden hakeminen käyttämällä Hanki-ADComputer komento. Tämä opas käsitti tämän, mutta osoitti myös, kuinka tulosta voidaan käsitellä otsikoiden poistamiseksi. Siinä käsiteltiin myös, kuinka tulokset lisätään muuttujaan ja käytettiin ForEach-silmukkaa tuloksen läpi.

Toivottavasti oppaasta oli hyötyä. Jos sinulla on kysyttävää tai kommentteja, käytä tämän sivun lopussa olevaa Vastaa -lomaketta. Vaihtoehtoisesti voit jakaa kokemuksesi AD-tietokoneiden käsittelystä PowerShell-taulukossa.

Saat lisätietoja PowerShellistä vierailemalla PowerShell-sivullamme. Vielä parempi, jos haluat luettelon kaikista PowerShell-oppaistamme, etsi PowerShell (hakulinkki avautuu uudelle selaimen välilehdelle).

Muita hyödyllisiä oppaita

  • PowerShell-komentosarja Active Directory -ryhmän jäsenten saamiseksi
  • Powershell Kokeile Catch Lopuksi ja virheiden käsittelyä

Lisäresurssit ja -viitteet