Miten luoda satunnaisia nimiä ja puhelinnumeroita PowerShellillä

Sisällysluettelo:

Miten luoda satunnaisia nimiä ja puhelinnumeroita PowerShellillä
Miten luoda satunnaisia nimiä ja puhelinnumeroita PowerShellillä
Anonim
Kun tarvitset testausta tai esittelyä varten tarvittavan tietojoukon, ja että asetuksessa on oltava henkilökohtaisesti identifioitavissa oleva tieto (PII), et yleensä halua käyttää todellista tietoa, joka edustaa todellisia ihmisiä. Tässä käymme läpi, kuinka voit käyttää PowerShell-tietokantaa tuottamaan luettelon satunnaisista nimistä ja puhelinnumeroista juuri tällaiseen tilanteeseen.
Kun tarvitset testausta tai esittelyä varten tarvittavan tietojoukon, ja että asetuksessa on oltava henkilökohtaisesti identifioitavissa oleva tieto (PII), et yleensä halua käyttää todellista tietoa, joka edustaa todellisia ihmisiä. Tässä käymme läpi, kuinka voit käyttää PowerShell-tietokantaa tuottamaan luettelon satunnaisista nimistä ja puhelinnumeroista juuri tällaiseen tilanteeseen.

Mitä tarvitset

Ennen kuin aloitat, on joitain työkaluja ja tietoja, joita sinun pitäisi olla:

PowerShell

Tämä skripti on kehitetty PowerShell 4.0: n avulla, ja sitä on myös testattu yhteensopivuuden kanssa PowerShell 2.0: n kanssa. PowerShell 2.0 tai uudempi on asennettu Windowsiin Windows 7: n jälkeen. Se on saatavana myös Windows XP ja Vista osana Windows Management Framework (WMF) -järjestelmää. Joitakin yksityiskohtia ja ladattavia linkkejä ovat alla.

  • PowerShell 2.0: n mukana tulee Windows 7. Windows XP SP3 ja Vista (SP1 tai uudempi) käyttäjät voivat ladata Microsoftin WMF-version Microsoft KB968929 -versiosta. Sitä ei tueta XP SP2: ssa tai sen alapuolella tai Vista ilman SP1: tä.
  • PowerShell 4.0: n mukana tulee Windows 8.1. Windows 7 SP1 -käyttäjät voivat päivittää sen osana WMF-päivitystä Microsoft Download Centeristä. Se ei ole käytettävissä XP: lle tai Vistalle.

nimet

Tarvitset joitain nimiluetteloja, jotka syötetään satunnaisgeneraattoriin. Hyvä lähde a erä nimistä ja niiden suosioon liittyvistä tiedoista (vaikka sitä ei käytetä tässä käsikirjoituksessa), on Yhdysvaltojen väestörekisteri. Alla oleviin linkkeihin saatavilla olevat luettelot ovat hyvin suuria, joten voit halutessasi pienentää niitä hieman, jos aiot tuottaa paljon nimiä ja numeroita kerralla. Kokeilujärjestelmässämme kustakin nimestä / numeroparista kesti noin 1,5 sekuntia tuottamalla täydellisiä luetteloita, mutta mittarilukema vaihtelee omien järjestelmätietojen mukaan.

  • sukunimet
  • Miesten etunimet
  • Naisnimiä

Riippumatta siitä lähteestä, jota käytät, sinun on luotava kolme tekstitiedostoa, joita skripti voi käyttää nimistöjen valintaan. Jokaisen tiedoston pitäisi sisältää vain nimiä ja vain yksi nimi riviä kohden. Nämä on tallennettava samaan kansioon kuin PowerShell-skripti.

Surnames.txt pitäisi sisältää sukunimet, joita haluat komentosarjasta valita. Esimerkki:

Smith Johnson Williams Jones Brown

Males.txt pitäisi sisältää miesten etunimet, joista haluat komentosarjasta valita. Esimerkki:

James John Robert Michael William

Females.txt tulisi sisältää naispuoliset etunimet, joista haluat komentosarjasta valita. Esimerkki:

Mary Patricia Linda Barbara Elizabeth

Säännöt puhelinnumeroille

Jos haluat olla varma, että puhelinnumerosi eivät vastaa kenenkään todellista puhelinnumeroa, helpoin tapa on käyttää tunnettua "555" -vaihtoa. Mutta jos aiot näyttää joukon puhelinnumeroita, 555 alkaa näyttää melko yksitoikkoiselta todella nopeasti. Jotta asiat saataisiin mielenkiintoisemmiksi, luodaan muita puhelinnumeroita, jotka rikkovat Pohjois-Amerikan numerointisuunnitelmaa (NANP). Alla on muutamia otoksia virheellisiä puhelinnumeroita, jotka edustavat jokaista tämän koodin luomaa numeroaluetta:

  • (157) 836-8167 Tämä numero on virheellinen, koska aluekoodit eivät voi alkaa 1 tai 0.
  • (298) 731-6185 Tämä numero on virheellinen, koska NANP ei osoita aluekoodeja 9: lla toisen numeronä.
  • (678) 035-7598 Tämä numero on virheellinen, koska Exchange-koodit eivät voi aloittaa yhdellä tai kahdella.
  • (752) 811-1375 Tämä numero on virheellinen, koska Exchange-koodit eivät voi päättyä kahteen 1: ään.
  • (265) 555-0128 Tämä numero on virheellinen, koska Exchange-koodi on 555, ja tilaajan tunnus on fiktiivisten numeroiden varassa.
  • (800) 555-0199 Tämä numero on ainoa 800-numero, jossa on 555 Exchange-koodi, joka on varattu käytettäväksi fiktiivisenä numerona.

Huomaa, että edellä mainitut säännöt voivat muuttua, ja ne voivat vaihdella tuomioistuimen toimesta. Sinun pitäisi tehdä oma tutkimus tarkistaa nykyiset säännöt, jotka ovat sovellettavissa paikallistoimintaan, jolle tuotavat puhelinnumeroita.

Yhteiset komennot

Joitakin melko yleisiä komentoja, joita tullaan käyttämään läpi tämän käsikirjoituksen, joten sinun pitäisi saada perusajatus siitä, mitä nämä tarkoittavat ennen kuin sukeltamme kirjoittamiseen.

  • Foreach-Object ottaa taulukon tai luettelon kohteista ja suorittaa määritellyn toiminnon kussakin niistä. ForEach-Object-skripti-lohkon sisällä $ _-muuttujaa käytetään viittaamaan nykyiseen käsiteltävään kohteeseen.
  • tai muuten lausekkeiden avulla voit suorittaa toimenpiteen vain, jos tietyt ehdot täyttyvät, ja (valinnaisesti) määrittää, mitä pitäisi tehdä, kun ehtoa ei täytetä.
  • vaihtaa lausunnot ovat kuin jos lausunnot on enemmän valintoja. Kytkin tarkistaa objektin useita ehtoja vastaan ja suorittaa mitä tahansa skriptioblokit määritellään olosuhteissa, jotka objekti vastaa. Voit myös valinnaisesti määrittää oletuslohkon, joka toimii vain, jos muita ehtoja ei ole sovitettu. Kytkinasetukset käyttävät myös $ _ -muuttujaa viittaamaan käsiteltävään kohteeseen.
  • sillä aikaa lausekkeiden avulla voit toistaa jatkuvasti komentotiedostoa niin kauan kuin tietyt ehdot täyttyvät. Kun jotain tapahtuu, jolloin ehto ei enää ole totta, kun komentosarja on päättynyt, silmukka poistuu.
  • yritä saada kiinni lausunnot auttaa virheenkäsittelyssä. Jos jokin menee pieleen yrittäjälle määritetyn komentokeskuksen lohkon kanssa, catch block -ohjelma käynnistyy.
  • Get-Content tekee mitä se sanoo tina.Se saa määritetyn objektin sisällön - tavallisesti tiedoston. Tätä voidaan käyttää näyttämään tekstitiedoston sisältö konsolissa tai, kuten tässä skripti, siirtää sisältö putkilinjaa pitkin käytettäväksi muiden komentoiden kanssa.
  • Kirjoita Host laittaa tavaraa konsoliin. Tätä käytetään esittämään viestejä käyttäjälle, eikä sitä ole sisällytetty komentosarjan lähdöön, jos ulostulo ohjataan.
  • Write-lähtö todella tuottaa tuotos. Normaalisti tämä kopioidaan konsoliin, mutta se voidaan ohjata myös muilla komennoilla.

Skriptissä on muita komentoja, mutta selitämme niitä, kun menemme.

Scriptin rakentaminen

Nyt on aika saada kätemme likaiseksi.

Osa 1: Getting Ready to Go

Jos haluat, että käsikirjoituksesi alkaa käydä puhtaasta konsolista, tässä on ensimmäinen haluamasi rivi.

Clear-Host

Nyt kun meillä on puhdas näyttö, seuraava asia, jonka haluamme tehdä, on oltava käsikirjoitustarkistus, jotta kaikki tarvitsevat ovat paikallaan. Tätä varten meidän on aloitettava kertomalla, mistä etsiä ja mitä etsiä.

$ScriptFolder = Split-Path $MyInvocation.MyCommand.Definition -Parent $RequiredFiles = ('Males.txt','Females.txt','Surnames.txt')

Ensimmäinen rivi on erittäin hyödyllinen kaikille komentosarjoille. Se määrittää muuttujan, joka osoittaa komentosarjan sisältävän kansion. Tämä on välttämätöntä, jos käsikirjassasi tarvitaan muita tiedostoja, jotka sijaitsevat samassa hakemistossa kuin itse (tai tiedossa oleva suhteellinen polku kyseisestä hakemistosta), koska muuten kohdatte virheitä jos ja kun yrität suorittaa komentosarjan ollessasi toisessa työhakemisto.

Toinen rivi luo joukon tiedostonimiä, jotka vaaditaan komentosarjan suorittamiseksi oikein. Käytämme tätä yhdessä $ ScriptFolder -muuttujan kanssa seuraavassa kappaleessa, jossa tarkistamme, että tiedostot ovat läsnä.

$RequiredFiles | ForEach-Object { if (!(Test-Path '$ScriptFolder$_')) { Write-Host '$_ not found.' -ForegroundColor Red $MissingFiles++ } }

Tämä komentojoukko lähettää $ RequiredFiles-taulukon ForEach-objekti -lohkoon. Sellaisen komentorivin sisällä if-lausuma käyttää Test-Path-ohjelmaa nähdäksesi, etsitäänkö tiedosto, johon se kuuluu. Test-Path on yksinkertainen komento, joka antaa tiedostopolulle annetun perustieton tai väärä vastauksen kertoakseen, onko polku viittaa olemassa olevaan. Huutomerkki on a ei operaattori, joka kääntää Test-Pathin vastauksen ennen kuin se välittää sen if-lauseen. Joten jos Test-Path palauttaa väärennetty (toisin sanoen etsimäsi tiedosto ei ole olemassa), se muuttuu oikeaksi, jotta if-lauseke suorittaisi sen script-lohkon.

Toinen asia, jota on huomattava tässä, jota käytetään usein tässä käsikirjoituksessa, on kaksinkertaisen lainausmerkinnän käyttäminen yksittäisten lainausten sijaan. Kun laitat jotain yksittäisiin lainauksiin, PowerShell käsittelee sitä staattisena merkkijonoina. Mikä tahansa yksittäisissä lainauksissa, siirretään täsmälleen samalla tavalla. Double-quotes kertoo, että PowerShell kääntää muuttujat ja jotkut muut erikoismerkit merkkijonoon ennen sen kulkua. Tässä kaksinkertaiset lainausmerkit tarkoittavat sitä, että he eivät käy Test-Path '$ ScriptFolder $ _' me todella teemme jotain enemmän Test-Polku 'C: Scripts Surnames.txt' (olettaen, että käsikirjasi on C: Scriptsissa ja ForEach-Object toimii parhaillaan 'Surnames.txt').

Jokaisesta tiedostosta ei löydy, Kirjoita-isäntä lähettää virheilmoituksen punaisella ja kertoo, mikä tiedosto puuttuu. Sitten se kasvattaa $ MissingFiles -muuttujaa, jota käytetään seuraavassa kappaleessa, virheeseen ja lopettamaan, jos tiedostoja puuttuu.

if ($MissingFiles) { Write-Host 'Could not find $MissingFiles source file(s). Aborting script.' -ForegroundColor Red Remove-Variable ScriptFolder,RequiredFiles,MissingFiles Exit }

Tässä on toinen siisti temppu, jota voit tehdä, jos lausunnot. Useimmissa oppaissa näet, jos lausunnot kertovat käytät operaattoria tarkistaaksesi yhteensopivuustilan. Voimme esimerkiksi käyttää tätä jos ($ MissingFiles -gt 0) onko $ MissingFiles suurempi kuin nolla. Jos käytät jo komentoja, jotka palauttavat boolean arvon (kuten edellisessä lohkossa, jossa käytimme Test-Polkua), jotka eivät ole välttämättömiä. Voit myös tehdä sen ilman tällaisia tapauksia, kun testaat vain, onko numero nollaton. Kaikki ei-nollanumerot (positiiviset tai negatiiviset) käsitellään oikeina, kun taas nolla (tai, kuten täälläkin, ei-olemassa olevaa muuttujaa) käsitellään vääriksi.

Jos $ MissingFiles on olemassa, ja se on ei-nolla, Write-Host lähettää viestin, jossa kerrotaan, kuinka monta tiedostoa puuttuu ja että komentotiedosto keskeytyy. Tällöin Poista-muuttuja puhdistaa kaikki luomasi muuttujat ja Exit lopettaa komentosarjan. Normaalissa PowerShell-konsolissa Poista-muuttujaa ei todellisuudessa tarvita tähän tarkoitukseen, koska komentosarjojen määrittämät muuttujat hylätään normaalisti, kun komentosarja poistuu. PowerShell ISE kuitenkin käyttäytyy hieman eri tavalla, joten voit halutessasi pitää tämän sisään, jos suunnittelet komentosarjan käynnistystä sieltä.

Jos kaikki asiat ovat kunnossa, komentosarja jatkuu. Yksi valmistautuminen on alias, että olemme todella iloisia myöhemmin.

New-Alias g Get-Random

Aliaseja käytetään komennoiden vaihtoehtoisten nimien luomiseen. Ne voivat auttaa meitä tutustumaan uuteen käyttöliittymään (esim. PowerShellillä on sisäänrakennetut aliakset, kuten dir -> Get-ChildItem ja kissa -> Get-Content) tai tehdä lyhyitä viittauksia yleisesti käytetyille komennoille. Täällä teemme a erittäin Lyhyen käden viitenumero Get-Random komentoa, jota aiotaan käyttää paljon myöhemmin.

Get-Satunnainen melko paljon tekee mitä sen nimi merkitsee. Koska taulukko (kuten nimiluettelo) syötteeksi, se valitsee satunnaisen kohteen taulukosta ja pureskelee sen. Sitä voidaan myös käyttää satunnaislukujen tuottamiseen. Muistettavaa Get-Randomista ja numeroista on kuitenkin se, että kuten monet muut tietokonetoiminnot, se alkaa laskea nollasta. Joten sen sijasta Get-Satunnaiset 10 eli luonnollisempi "anna minulle numero 1-10", se tarkoittaa todella "anna minulle numero 0 … 9." Voit olla tarkempi numeroiden valinta, niin että Get-Random käyttäytyy enemmän kuin luonnollisesti odottaa, mutta emme tarvitse sitä tässä kirjoitusohjelmassa.

Osa 2: Käyttäjätulon hankkiminen ja töihin pääseminen

Vaikka komentosarja, joka tuottaa vain yhden satunnaisen nimen ja puhelinnumeron, on paljon parempi, jos komentosarjan avulla käyttäjä voi määrittää, kuinka monta nimeä ja numeroa he haluavat saada yhdessä erässä. Valitettavasti emme voi luottaa siihen, että käyttäjät voivat aina antaa kelvollisen syötteen. Joten, tässä on vähän enemmän kuin vain $ UserInput = Read-Host.

while (!$ValidInput) { try { [int]$UserInput = Read-Host -Prompt 'Items to be generated' $ValidInput = $true } catch { Write-Host 'Invalid input. Enter a number only.' -ForegroundColor Red } }

Kun taas yllä oleva lausuma tarkistaa ja mittaa ValidInputin arvon. Niin kauan kuin $ ValidInput on väärä tai sitä ei ole, se jatkaa silmukoitumista komentojononsa läpi.

Kokeiluversio ottaa käyttäjätulon Read-Hostin kautta ja yrittää muuttaa sen kokonaislukuarvoiksi. (Se on [Int] ennen Read-Hostia.) Jos se on onnistunut, se asettaa $ ValidInput: n oikeaksi niin, että taas silmukka voi poistua. Jos ei onnistunut, catch block lähettää virhettä ja koska $ ValidInput ei ole asetettu, kun taas silmukka palaa takaisin ja kehottaa käyttäjää uudelleen.

Kun käyttäjä on oikein antanut numeron syötteeksi, haluamme, että komentosarja ilmoittaa olevansa alkamassa itse tekemään työnsä ja sitten tekemään sen.

Write-Host '`nGenerating $UserInput names & phone numbers. Please be patient.`n' 1..$UserInput | ForEach-Object { <# INSERT RANDOM NAME & NUMBER GENERATOR HERE #> }

Älä huolestu, emme jätä sinua itse selvittämään satunnaisen nimen ja numeron generaattorikoodin. Se on vain paikkamerkkikommentti, jossa näytetään, missä seuraavassa osassa (missä todellinen työ tehdään) on sovitettavissa.

Write-Host-rivi on melko suoraviivaista. Se kertoo yksinkertaisesti, kuinka monta nimeä ja puhelinnumeroita käsittelevä kirjoitusohjelma tuottaa ja pyytää käyttäjää kärsivällisyydestä, kun käsikirjoitus toimii.`nmerkkijonon alussa ja lopussa on sijoitettava tyhjä rivi ennen ja jälkeen kyseisen ulostulon, jotta se antaisi jonkin verran visuaalista eroa syöttölinjan ja nimien ja numeroiden välillä. Huomaa, että tämä on ristikuvake (AKA "vakava aksentti" - tavallisesti yläpuolella oleva välilehti, vasemmalla puolella 1) eikä kummallakin n.

Seuraavassa osassa näkyy erilainen tapa käyttää ForEach-objektiosilmukkaa. Tyypillisesti, kun haluat, että komentotiedostoa käytetään tietty määrä kertoja, määrität säännöllisen silmukan kaltaisen ($ x = 1; $ x -le $ UserInput; $ x ++) {<# INSERT SCRIPT TÄSTÄ #>}.ForEach-Objectin avulla voimme yksinkertaistaa tätä syöttämällä sen kokonaislukujen joukosta ja sen sijaan, että kerromme sen suorittavan itse mitään näiden kokonaislukujen kanssa, annamme sille vain staattisen komentosarjan, kunnes se loppuu kokonaislukuina.

Osa 3: Satunnaisen nimen luominen

Nimen luominen on yksinkertaisin bitti tämän prosessin loppuosasta. Se koostuu kolmesta vaiheesta: sukunimen ottamisesta, sukupuolen valitsemisesta ja etunimen valitsemisesta. Muista, että ali-merkki, jonka teimme Get-Randomille jonkin aikaa takaisin? Aika alkaa käyttää sitä.

$Surname = Get-Content '$ScriptFolderSurnames.txt' | g $Male = g 2 if ($Male) {$FirstName = Get-Content '$ScriptFolderMales.txt' | g} else {$FirstName = Get-Content '$ScriptFolderFemales.txt' | g}

Ensimmäinen rivi ottaa sukunimeä koskevan luettelon, syöttää sen satunnaisvalitsimeen ja antaa valitun nimen $ Sukunimi.

Toinen rivi valitsee henkilön sukupuolemme. Muista, kuinka Get-Random alkaa laskea nollasta ja kuinka nolla on väärä ja kaikki muu on totta? Näin käytämme Get-Random 2 (tai paljon lyhyempi g 2 kiitos aliaksemme - molemmat johtavat valintaan nollan tai yhden välillä) päättää, onko meidän henkilö mies vai ei. If / else-lauseen jälkeen satunnaisesti valitsee mies- tai naispuolisen etunimen vastaavasti.

Osa 4: Satunnaisen puhelinnumeron luominen

Tässä on todella hauska osa. Aikaisemmin näytimme sinulle, miten on useita tapoja, joilla voit tehdä virheellisen tai fiktiivisen puhelinnumeron. Koska emme halua, että kaikki numerot näyttävät liian samanlaisilta toisiinsa, valitamme satunnaisesti virheellisen numeromuodon joka kerta. Satunnaisesti valitut tiedostomuodot määritellään niiden aluekoodilla ja Exchange-koodilla, jotka tallennetaan yhteisesti $ Prefixiksi.

$NumberFormat = g 5 switch ($NumberFormat) { 0 {$Prefix = '($(g 2)$(g 10)$(g 10)) $(g 10)$(g 10)$(g 10)'} 1 {$Prefix = '($(g 10)9$(g 10)) $(g 10)$(g 10)$(g 10)'} 2 {$Prefix = '($(g 10)$(g 10)$(g 10)) $(g 2)$(g 10)$(g 10)'} 3 {$Prefix = '($(g 10)$(g 10)$(g 10)) $(g 10)11'} 4 {$Prefix = '($(g 10)$(g 10)$(g 10)) 555'} }

Ensimmäinen rivi on suoraviivainen satunnaisluku, jonka avulla voit valita, mihin muotoon seuraamme puhelinnumeroa. Sitten kytkinlausunto ottaa satunnaisen valinnan ja luo $ etuliitteen vastaavasti. Muista, että luettelo virheellisistä puhelinnumeroista on? $ NumberFormat-arvot 0-3 vastaavat ensimmäisiä neljää luettelossa. Arvo 4 voi luoda yhden viimeisestä kahdesta, koska molemmat käyttävät "555" -vaihtoehtoa.

Täällä voit myös nähdä, että käytämme jotain muuta kakkospyyntöä. Kaksoiskutsuilla ei vain anna tulkita muuttujia ennen merkkijonon tuottamista - ne myös antavat sinun käsitellä käsikirjoituslohkoja. Voit tehdä tämän seuraavasti: "$ (<# SCRIPT HERE #>)". Joten, mitä olet edellä, on paljon yksilöllisesti satunnaistettuja numeroita, jotkut heistä joko rajoitettu niiden alueelle tai asettaa staattisesti mukaan sääntöjä meidän on noudatettava. Jokaisella merkkijonolla on myös sulkeja ja välilyöntejä, kuten normaalisti oletat näkyvän aluekoodi ja Exchange-koodin parissa.

Viimeinen asia, jonka on tehtävä ennen kuin olemme valmiita tuottamaan nimi ja puhelinnumeromme, on luoda tilaajan tunnus, joka tallennetaan $ suffiksiksi.

switch ($NumberFormat) { {$_ -lt 4} {$Suffix = '$(g 10)$(g 10)$(g 10)$(g 10)'} 4 { switch ($Prefix) { '(800) 555' {$Suffix = '0199'} default {$Suffix = '01$(g 10)$(g 10)'} } } }

555-numeroiden erityissääntöjen vuoksi emme voi luoda vain neljää satunnaislukua kunkin puhelinnumeron loppuun, jonka skripti tulee tekemään. Joten ensimmäinen kytkin tarkistaa, onko meillä 555-numero. Jos ei, se luo neljä satunnaislukua. Jos se on 555-numero, toinen kytkin tarkistaa 800-aluekoodin.Jos se sopii yhteen, voimme käyttää vain yhtä voimassa olevaa $ Suffixia. Muussa tapauksessa se voi valita minkä tahansa välillä 0100-0199.

Huomaa, että tämä lohko olisi voitu kirjoittaa muutamia tapoja sen sijaan, että se olisi. Molemmat kytkin-lausunnot olisivat voineet korvata if / else-lauselmilla, koska ne käsittelevät vain kahta valintaa. Lisäksi, sen sijaan, että kutsuttiin "4" ensimmäisen vaihtoehdon vaihtoehtona, "oletusarvoa" olisi voitu käyttää samanlaisena kuin se tapahtui toisessa vaiheessa, koska se oli ainoa vaihtoehto jäljellä. Jos valitset vaihtoehdon if / else vs. switch tai jos haluat käyttää oletus avainsanan tiettyjen arvojen sijaan, se usein tulee henkilökohtaiseen mieltymykseen. Niin kauan kuin se toimii, käytä mitä tahansa mukavinta.

Nyt on aika lähteä.

Write-Output '$FirstName $Surname $Prefix-$Suffix' }

Tämä on melko yksinkertainen kuin se saa komentosarjassa. Se tuottaa vain etu- ja sukunimen, jotka on erotettu välilyönnillä, sitten toinen tila ennen puhelinnumeroa. Tällöin myös Exchange-koodin ja tilaaja-ID: n välinen tavallinen viiva lisätään.

Kyseinen sulkeutumisluku alareunassa on ForEach-objektiivin silmukan loppu aiemmasta - älä jätä tätä, jos olet jo saanut sen.

Osa 5: Scriptin puhdistaminen ja suorittaminen

Kun kaikki työ on tehty, hyvä käsikirjoitus osaa puhdistaa itsensä. Jälleen muuttuvaa poistoa ei tarvita, jos vain ajetaan käsikirjoitus konsolista, mutta haluat sen, jos aiot suunnitella sitä ISE: ssä.

Remove-Item alias:g Remove-Variable ScriptFolder,RequiredFiles,Surname,Male,FirstName,NumberFormat,Prefix,Suffix,ValidInput,UserInput

Kun olet saanut kaiken, tallenna skripti ".ps1" -laajennuksella samaan kansioon kuin nimitiedostot. Varmista, että ExecutionPolicy on asetettu niin, että komentosarja toimii ja antaa sille pyörteen.

Tässä on kuvakaappaus komentosarjasta toiminnassa:

Voit myös ladata tämän PowerShell-komentosarjan sisältävän ZIP-tiedoston ja tekstitiedostot nimiluettelon avulla alla olevasta linkistä.
Voit myös ladata tämän PowerShell-komentosarjan sisältävän ZIP-tiedoston ja tekstitiedostot nimiluettelon avulla alla olevasta linkistä.

PowerShellin satunnainen nimi ja puhelinnumeroiden generaattori

Suositeltava: