Pagrindinis » kaip » Kaip generuoti atsitiktinius vardus ir telefono numerius su „PowerShell“

    Kaip generuoti atsitiktinius vardus ir telefono numerius su „PowerShell“

    Kai reikia duomenų rinkinio, skirto bandymams ar demonstracijoms, ir šis rinkinys turi atstovauti asmeniškai identifikuojamai informacijai (PII), paprastai nenorite naudoti realių duomenų, kurie atspindi tikrus žmones. Čia jums padėsime, kaip galite naudoti „PowerShell“, kad sukurtumėte atsitiktinių pavadinimų ir telefonų numerių sąrašą tik tokiai progai.

    Ko tau reikia

    Prieš pradėdami naudoti keletą įrankių ir informacijos, kurią turėtumėte turėti:

    „PowerShell“

    Šis scenarijus buvo sukurtas naudojant „PowerShell 4.0“, taip pat buvo išbandytas suderinamumas su „PowerShell 2.0“. „Windows“ sistemoje „Windows XP“ įdiegta „PowerShell 2.0“ arba naujesnė versija. Ji taip pat yra „Windows XP“ ir „Vista“, kaip „Windows“ valdymo sistemos (WMF) dalis. Toliau pateikiami keli papildomi duomenys ir atsisiuntimų nuorodos.

    • „Windows XP SP3“ ir „Vista“ (SP1 ar naujesnės versijos) vartotojai gali atsisiųsti atitinkamą „WMF“ versiją iš „Microsoft“ KB968929. Ji nepalaikoma „XP SP2“ ar žemesnėje versijoje arba „Vista“ be SP1.
    • „PowerShell 4.0“ ateina su „Windows 8.1“. „Windows 7“ SP1 naudotojai gali ją atnaujinti kaip „Microsoft“ atsisiuntimo centro WMF atnaujinimo dalį. Jis negalimas XP arba Vista.

    Vardai

    Jums reikės kai kurių vardų sąrašų, kuriuos norite įtraukti į atsitiktinį generatorių. Puikus šaltinis a daug vardų ir informacijos apie jų populiarumą (nors tai nebus naudojama šiam scenarijui), yra Jungtinių Valstijų surašymo biuras. Toliau pateiktose nuorodose pateikiami sąrašai yra labai dideli, todėl galbūt norėsite juos šiek tiek sumažinti, jei planuojate vienu metu sukurti daug vardų ir numerių. Mūsų bandymų sistemoje kiekvienas vardo / numerio pora užtruko apie 1,5 sekundės, kad sukurtų naudodamiesi visais sąrašais, tačiau jūsų kilometražo dydis priklausys nuo jūsų sistemos specifikacijų.

    • Pavardės
    • Vyrų vardai
    • Moterų pirmieji vardai

    Nepriklausomai nuo jūsų naudojamo šaltinio, jums reikės sukurti tris tekstinius failus, kuriuos scenarijus gali naudoti kaip vardus savo pasirinkimui. Kiekviename faile turi būti tik pavadinimai ir tik vienas vardas. Jie turi būti saugomi tame pačiame aplanke kaip ir „PowerShell“ scenarijus.

    Pavardės.txt turi būti pavardės, kurias norite pasirinkti iš scenarijaus. Pavyzdys:

    Smith Johnson Williams Jones Brown

    Males.txt turėtų būti pirmieji vyrai, kuriuos norite, kad scenarijus pasirinktų. Pavyzdys:

    James John Robert Michael William

    Females.txt turėtų būti pirmieji vardai, kuriuos norite pasirinkti iš scenarijaus. Pavyzdys:

    Mary Patricia Linda Barbara Elizabeth

    Telefono numerių taisyklės

    Jei norite būti tikri, kad jūsų telefono numeriai neatitinka realaus telefono numerio, paprasčiausias būdas yra naudoti gerai žinomą „555“ keitimo kodą. Bet jei jums bus rodomas duomenų rinkinys, kuriame yra daug telefono numerių, 555 pradės atrodyti gana monotoniškai realus. Norėdami padaryti įdomesnius dalykus, mes sukursime kitus telefono numerius, kurie pažeidžia Šiaurės Amerikos numeracijos plano (NANP) taisykles. Žemiau pateikiami netinkami telefono numeriai, vaizduojantys kiekvieną skaičių, kurį sukurs šis scenarijus:

    • (157) 836-8167
      Šis numeris negalioja, nes vietovės kodai negali prasidėti 1 arba 0.
    • (298) 731-6185
      Šis numeris negalioja, nes NANP nenurodo vietovės kodų su 9 kaip antruoju skaitmeniu.
    • (678) 035-7598
      Šis numeris negalioja, nes „Exchange“ kodai negali prasidėti nuo 1 arba 0.
    • (752) 811-1375
      Šis numeris negalioja, nes „Exchange“ kodai negali baigtis dviem 1s.
    • (265) 555-0128
      Šis numeris negalioja, nes „Exchange“ kodas yra 555, ir abonento ID yra užfiksuotiems numeriams skirtame intervale.
    • (800) 555-0199
      Šis numeris yra vienintelis 800 numeris su 555 „Exchange“ kodu, kuris yra skirtas naudoti kaip fiktyvus numeris.

    Atminkite, kad pirmiau nurodytos taisyklės gali keistis ir gali skirtis priklausomai nuo jurisdikcijos. Turėtumėte atlikti savo tyrimus, kad patikrintumėte galiojančias taisykles, taikomas vietai, kuriai bus sukurti telefono numeriai.

    Bendrosios komandos

    Yra keletas gana paplitusių komandų, kurios bus naudojamos visame šiame scenarijuje, todėl turėtumėte gauti pagrindinę idėją apie tai, ką šie reiškiniai reiškia, kol mes nardome į tai, kad tikrai rašome..

    • „ForEach-Object“ priima objektų masyvą arba sąrašą ir atlieka nurodytą operaciją kiekviename iš jų. „ForEach-Object“ scenarijaus bloke „$ _“ kintamasis naudojamas, norint nurodyti dabartinį apdorojamą elementą.
    • jei… dar pareiškimai leidžia atlikti operaciją tik tada, kai yra įvykdytos tam tikros sąlygos, ir (pasirinktinai) nurodykite, kas turėtų būti padaryta, kai ši sąlyga nėra įvykdyta.
    • jungiklis teiginiai yra panašūs, jei teiginiai turi daugiau pasirinkimų. Jungiklis tikrins objektą prieš kelias sąlygas ir paleis bet kokius scenarijaus blokus, nurodytus sąlygoms, kurias objektas atitinka. Taip pat pasirinktinai galite nurodyti numatytąjį bloką, kuris bus rodomas tik tuo atveju, jei nebus suderintos kitos sąlygos. Perjungimo pareiškimai taip pat naudoja $ _ kintamąjį, kad galėtumėte nurodyti dabartinį apdorojamą elementą.
    • kol pareiškimai leidžia nuolat kartoti scenarijų bloką tol, kol įvykdoma tam tikra sąlyga. Kai įvyksta kažkas, dėl kurios sąlyga nebėra teisinga, kai baigiamas scenarijų blokas, kilpa išeina.
    • pabandykite ... sugauti pareiškimai padeda tvarkyti klaidas. Jei su bandomajam scenarijų blokui kas nors atsitiks, bus paleistas sugavimo blokas.
    • Gauti turinį daro tai, ką sako ant alavo. Jis gauna nurodyto objekto turinį - paprastai failą. Tai gali būti naudojama tekstinio failo turinio rodymui konsolėje arba, kaip ir šiame scenarijuje, perduoti turinį kartu su kitomis komandomis..
    • Rašyti šeimininką įkelia medžiagą į konsolę. Tai naudojama pranešimams vartotojui pateikti ir nėra įtraukta į scenarijaus išvestį, jei išėjimas nukreipiamas.
    • Rašymo išvestis iš tikrųjų generuoja produkciją. Paprastai tai yra perkeliama į konsolę, tačiau ją taip pat gali nukreipti kitos komandos.

    Skripte yra ir kitų komandų, bet mes jas paaiškinsime.

    Sukurkite scenarijų

    Dabar atėjo laikas purkšti rankas.

    1 dalis. Pasiruošimas eiti

    Jei norite, kad jūsų scenarijus pradėtų veikti iš švarios konsolės, čia yra pirmoji linija, kurią norite.

    „Clear-Host“

    Dabar, kai turime švarų ekraną, kitas dalykas, kurį norime padaryti, yra patikrinti scenarijų, kad įsitikintume, jog viskas, ko reikia, yra įdiegta. Norėdami tai padaryti, turime pradėti sakydami, kur ieškoti ir ko ieškoti.

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

    Pirmoji eilutė yra labai naudinga bet kuriam scenarijui. Jis apibrėžia kintamąjį, nurodantį aplanką, kuriame yra scenarijus. Tai būtina, jei jūsų scenarijui reikia kitų failų, esančių tame pačiame kataloge kaip pats (arba žinomas santykinis kelias iš šio katalogo), nes kitaip susidursite su klaidomis, jei ir kai bandote paleisti scenarijų, kai esate kitame darbo katalogas.

    Antroje eilutėje sukuriamas failų pavadinimų masyvas, reikalingas scenarijaus veikimui tinkamai. Mes naudosime tai kartu su $ ScriptFolder kintamuoju kitame kūrinyje, kuriame patikrinsime, ar yra šių failų.

    $ RequiredFiles | „ForEach-Object“ if (! (Test-Path "$ ScriptFolder $ _")) Rašyti-Host “$ _ nerastas." -ForegroundColor Red $ MissingFiles ++

    Šis scenarijus siunčia $ RequiredFiles masyvą į ForEach-Object bloką. Šiame scenarijų bloke, jei pareiškimas naudoja „Test-Path“, kad pamatytų, ar failas, kurio ieškome, yra ten, kur jis priklauso. „Test-Path“ yra paprasta komanda, kuri, suteikusi failo kelią, grąžina pagrindinį tikrąjį arba melagingą atsakymą, kad praneštų mums, ar kelias nurodo kažką, kas egzistuoja. Šūksnio ženklas yra a ne operatorius, kuris priešingu atveju perduoda bandymo kelio atsaką. Taigi, jei „Test-Path“ grąžina false (ty failą, kurio ieškome, neegzistuoja), jis bus konvertuojamas į true, kad jei pareiškimas atliktų jo scenarijų bloką.

    Kitas dalykas, kurį reikia paminėti čia, kuris bus dažnai naudojamas šiame scenarijuje, yra dvigubų kabučių naudojimas vietoj vienkartinių kabučių. Kai įdėti kažką į vieną kabučių, „PowerShell“ ją laiko statine eilute. Nepriklausomai nuo to, kas yra vienose citatose, bus perduodama tiksliai taip, kaip yra. „Double-quotes“ nurodo „PowerShell“ išversti kintamuosius ir kai kuriuos kitus specialius elementus eilutėje, prieš juos perduodant. Čia dvigubos kabutės reiškia, kad vietoj jo veikia „Test-Path“ $ ScriptFolder  mes iš tikrųjų darysime kažką panašesnio Bandymo kelias „C“: scenarijai Pavardės.txt “ (darant prielaidą, kad jūsų scenarijus yra C: scenarijai, o „ForEach-Object“ šiuo metu dirba „Pavardės.txt“).

    Kiekvienam failui nerastas Rašyti priimančioji paskelbs raudoną klaidos pranešimą, kad jums būtų pranešta, koks failas trūksta. Tada jis padidina $ MissingFiles kintamąjį, kuris bus naudojamas kitame kūrinyje, kad būtų klaidinga ir baigta, jei trūkstų failų.

    jei ($ MissingFiles) Write-Host "Nepavyko rasti $ MissingFiles šaltinio failo (-ų). -ForegroundColor Red šalinamas kintamasis scenarijus, reikalingi failai, praleidžiami failai

    Štai dar vienas tvarkingas triukas, kurį galite padaryti, jei pareiškimai. Dauguma vadovų, kuriuos pamatysite, jei teiginiai jums parodys, kad naudosite operatorių, kad patikrintumėte, ar yra tinkama sąlyga. Pavyzdžiui, čia galime naudoti jei ($ MissingFiles -gt 0) norėdami pamatyti, ar $ MissingFiles yra didesnis nei nulis. Tačiau, jei jau naudojate komandas, kurios grąžina loginę vertę (kaip ir ankstesniame bloke, kur mes naudojome „Test-Path“), tai nėra būtina. Be to, jūs galite tai padaryti tokiais atvejais, kai tik bandote pamatyti, ar numeris yra nulinis. Bet koks ne nulinis skaičius (teigiamas arba neigiamas) laikomas teisingu, o nulis (arba, kaip čia gali atsitikti, neegzistuojantis kintamasis) bus traktuojamas kaip klaidingas.

    Jei $ MissingFiles egzistuoja ir yra nulinis, rašyti-šeimininkas paskelbs pranešimą, nurodantį, kiek failų trūksta ir kad scenarijus bus nutrauktas. Tada „Remove-Variable“ pašalins visus sukurtus kintamuosius ir „Exit“ išeis iš scenarijaus. Esant įprastai „PowerShell“ konsolei, „Remove-Variable“ nėra būtinas šiam tikslui, nes scenarijų nustatyti kintamieji paprastai pašalinami, kai scenarijus išeina. Tačiau „PowerShell ISE“ elgiasi šiek tiek kitaip, kad galėtumėte tai išsaugoti, jei planuojate paleisti scenarijų iš ten.

    Jei viskas tvarkinga, scenarijus bus tęsiamas. Dar vienas pasiruošimas padaryti yra slapyvardis, kurį mes tikrai džiaugiamės galėdami vėliau.

    Naujas-Alias ​​g Gauti atsitiktinai

    Pseudonimai naudojami kuriant alternatyvius pavadinimus komandoms. Tai gali būti naudinga, kad padėtų mums susipažinti su nauja sąsaja (pvz., „PowerShell“ turi įmontuotus slapyvardžius rež -> Get-ChildItem ir katė -> Gauti turinį) arba padaryti trumpas nuorodas į dažniausiai naudojamas komandas. Čia mes darome a labai trumpos rankos nuorodos Atsitiktinai komandą, kuri bus daug vėliau naudojama.

    „Get-Random“ gana daug daro tai, ką reiškia pavadinimas. Atsižvelgiant į masyvą (pvz., Vardų sąrašą) kaip įvestį, jis surenka atsitiktinį elementą iš masyvo ir išskleidžia jį. Jis taip pat gali būti naudojamas atsitiktiniams skaičiams generuoti. Tai, ką reikia prisiminti apie „Get-Random“ ir numerius, yra tai, kad, kaip ir daugelis kitų kompiuterių operacijų, ji pradeda skaičiuoti nuo nulio. Taigi vietoj Atsitiktinai atsitiktinai 10 Tai reiškia, kad natūralesnis „duok man numerį nuo 1 iki 10“ tai reiškia „duok man numerį nuo 0 iki 9.“ Jūs galite būti konkretesnis dėl numerio pasirinkimo, kad „Get-Random“ elgtųsi labiau kaip jūs natūraliai tikimės, bet to nereikia šiame scenarijuje.

    2 dalis. Naudotojo įvedimas ir darbo pradžia

    Nors scenarijus, kuris sukuria tik vieną atsitiktinį pavadinimą ir telefono numerį, yra puikus, daug geriau, jei scenarijus leidžia vartotojui nurodyti, kiek vardų ir numerių jie nori gauti vienoje partijoje. Deja, mes tikrai negalime pasitikėti naudotojais, kad visada pateiktume teisingą įvestį. Taigi, ten yra šiek tiek daugiau nei tik $ UserInput = Read-Host.

    o (! $ ValidInput) try [int] $ UserInput = Read-Host -Prompt 'generuojami elementai' $ ValidInput = $ true catch Write-Host "Neteisingas įvestis. Įveskite tik numerį. “ -ForegroundColor Red

    Tuo pačiu metu pateiktas teiginys patikrina ir neigia $ ValidInput vertę. Kol „ValidInput“ yra neteisingas arba neegzistuoja, jis išliks per skripto bloką.

    Bandymo pareiškimas užima vartotojo įvestį per „Read-Host“ ir bando ją konvertuoti į sveiką skaičių. (Tai yra [int] prieš skaitymo prieglobą.) Jei jis sėkmingas, jis nustatys $ ValidInput tiesą, kad tuo metu kilpa gali išeiti. Jei nepavyksta, sugavimo blokas paskelbia klaidą ir, kadangi $ ValidInput nepavyko nustatyti, tuo tarpu ciklas grįš aplink ir paragins vartotoją dar kartą.

    Kai vartotojas tinkamai įvedė numerį kaip įvestį, norime, kad scenarijus praneštų, kad jis pradės iš tikrųjų atlikti savo darbą ir tada apie tai padaryti.

    Rašyti-šeimininką „nGenerating $ UserInput pavadinimai ir telefono numeriai. Prašome būti kantrūs.'n“ 1… $ UserInput | „ForEach-Object“ 

    Nesijaudinkite, mes nepaliksime savęs, kad išsiaiškintumėte atsitiktinio vardo ir numerio generatoriaus kodą. Tai tik vietovės komentaras, rodantis, kur bus tinkamas kitas skyrius (kur bus atliktas tikras darbas).

    Rašyti-Host linija yra gana paprasta. Jis tiesiog sako, kiek vardų ir telefonų numerių bus sukurtas scenarijus, ir prašo vartotojo būti kantriam, kol scenarijus atlieka savo darbą. Theeilutės pradžioje ir pabaigoje prieš tuščią eilutę ir po jos įrašykite tuščią eilutę, kad būtų suteikta tam tikra vizuali atskirtis tarp įvesties linijos ir vardų bei numerių sąrašo. Atkreipkite dėmesį, kad tai yra „back-tick“ (AKA „kapas akcentas“ - dažniausiai raktas virš skirtuko, kairėje nuo 1), o ne apaštalas ar vienas citata priešais kiekvieną n.

    Kita dalis rodo kitokį būdą, kaip naudoti „ForEach-Object“ kilpą. Paprastai, kai norite, kad scenarijaus blokas paleistų tam tikrą skaičių kartų, nustatysite įprastą kilpą už ($ x = 1; $ x -le $ UserInput; $ x ++) . „ForEach-Object“ leidžia mums tai supaprastinti maitindami sveikųjų skaičių sąrašą, o vietoj to, kad pasakytų, kad jie tikrai daro viską su šiais sveikaisiais skaičiais, mes tiesiog suteikiame jai statinį scenarijų bloką, kuris bus rodomas, kol baigsis sveikieji skaičiai..

    3 dalis. Atsitiktinio pavadinimo kūrimas

    Vardo sukūrimas yra paprasčiausias likusio šio proceso etapas. Jis susideda tik iš trijų etapų: pavardės paėmimas, lyties parinkimas ir vardas. Atminkite, kad alias, kurį mes atlikome už „Get-Random“, retai? Laikas pradėti ją naudoti.

        $ Surname = Gauti turinį "$ ScriptFolder" Pavardės.txt " g $ Male = g 2, jei ($ Male) $ FirstName = Gauti turinį "$ ScriptFolder \ t g else $ FirstName = Gauti turinį "$ ScriptFolder \ t g

    Pirmoje eilutėje pateikiamas mūsų pavardžių sąrašas, jis įnešamas į atsitiktinį rinkiklį ir priskiriamas pasirinktas pavadinimas į $ Surname.

    Antroji eilutė pasiima mūsų asmens lytį. Prisiminkite, kaip „Get-Random“ pradeda skaičiuoti nuo nulio, ir kaip nulis yra klaidingas ir visa kita yra tiesa? Taip mes naudojame Atsitiktinis 2 (arba daug trumpesnis g 2 dėka mūsų slapyvardžio - abu atsiranda pasirinkimas tarp nulio arba vieno, kad nuspręstume, ar mūsų asmuo yra vyras, ar ne. Po to, jei po to atsitiktinai pasirenkamas pareiškimas, pasirenkamas vyriškas ar moteriškas vardas.

    4 dalis. Atsitiktinio telefono numerio generavimas

    Štai tikrai įdomi dalis. Anksčiau mes parodėme jums, kaip keliais būdais galite padaryti negaliojantį ar fiktyvų telefono numerį. Kadangi nenorime, kad visi mūsų numeriai atrodytų pernelyg panašūs vienas į kitą, kiekvieną kartą atsitiktinai pasirinksime netinkamą numerio formatą. Atsitiktinai pasirinkti formatai bus apibrėžti pagal jų vietinį kodą ir „Exchange“ kodą, kurie bendrai bus saugomi kaip $ prefiksas.

        $ NumberFormat = g 5 jungiklis ($ NumberFormat) 0 $ Prefix = "($ (g 2) $ (g 10) $ (g 10)) $ (g 10) $ (g 10) $ (g 10)"  1 $ prefiksas = "($ (g 10) 9 $ (g 10)) $ (g 10) $ (g 10) $ (g 10)" 2 $ prefiksas = "($ (g 10) $ (g 10) $ (g 10)) $ (g 2) $ (g 10) $ (g 10) " 3 $ prefiksas =" ($ (g 10) $ (g 10) $ (g 10)) $ (g 10) 11 " 4 $ prefiksas =" ($ (g 10) $ (g 10) $ (g 10)) 555 "

    Pirmoji eilutė yra paprasta atsitiktinių skaičių karta, kad pasirinktumėte, kokį formatą mes ketiname sekti telefono numeriu. Tada perjungimo pareiškimas paima tą atsitiktinį pasirinkimą ir atitinkamai generuoja $ prefiksą. Atminkite, kad netinkamų telefono numerių sąrašas? $ NumberFormat reikšmės 0-3 atitinka pirmuosius keturis sąrašus. 4 vertė gali generuoti vieną iš dviejų paskutiniųjų, nes abu naudojami „555“ mainų kodai.

    Čia taip pat galite matyti, kad mes naudojame kitą triuką su dvigubomis kabutėmis. Dvigubos citatos ne tik leidžia interpretuoti kintamuosius, kol eilutė gauna išėjimą - jie taip pat leidžia apdoroti scenarijų blokus. Jei norite tai padaryti, įvesite tokį scenarijų bloką: „$ ()“. Taigi, ką jūs turite aukščiau, yra daug atsitiktinai suskirstytų skaitmenų, kai kurie iš jų yra riboti jų intervale arba statiškai nustatyti pagal taisykles, kurių turime laikytis. Kiekviena eilutė taip pat turi skliaustelius ir tarpus, kaip paprastai norėtumėte matyti vietovės kodo ir „Exchange“ kodo pora.

    Paskutinis dalykas, kurį turime padaryti prieš pasiruošę išleisti mūsų vardą ir telefono numerį, yra sukurti abonento ID, kuris bus saugomas kaip $ Suffix.

        jungiklis ($ NumberFormat) $ _ -lt 4 $ priesaga = "$ (g 10) $ (g 10) $ (g 10) $ (g 10)" 4 jungiklis ($ prefiksas) '( 800) 555 '$ Suffix =' 0199 ' numatytasis $ Suffix = "01 $ (g 10) $ (g 10)"

    Dėl specialių taisyklių, taikomų 555 numeriams, mes negalime tiesiog sukurti keturių atsitiktinių skaitmenų kiekvieno telefono numerio, kurį mūsų scenarijus padarys, pabaigoje. Taigi, pirmasis jungiklis patikrina, ar mes susiduriame su 555 numeriu. Jei ne, tai generuoja keturis atsitiktinius skaitmenis. Jei tai yra 555 numeris, antrasis jungiklis patikrina 800 vietovės kodą. Jei tai atitinka, galime naudoti tik vieną galiojantį $ priesagą. Priešingu atveju leidžiama pasirinkti iš nieko nuo 0100-0199.

    Atkreipkite dėmesį, kad yra keletas skirtingų būdų, kaip šis blokas galėjo būti parašytas vietoj to, kaip jis yra. Abu perjungimo pareiškimai galėjo būti pakeisti, jei būtų pateikiami pareiškimai, nes jie tik tvarko du pasirinkimus. Be to, vietoj to, kad pirmasis perjungimo pareiškimas pasirinktų kaip „4“, „numatytasis“ galėjo būti naudojamas panašiai kaip ir antrą kartą, nes tai buvo vienintelė išeitis. Pasirinkimas tarp „if / other“ arba „switch“, arba, kur naudoti numatytąjį raktinį žodį vietoj konkrečių vertybių, dažnai būna asmeninio pasirinkimo klausimas. Tol, kol jis veikia, naudokitės tuo, kas jums labiausiai patinka.

    Dabar atėjo laikas.

        Rašymo išvestis "$ FirstName $ Pavardė $ prefiksas - $ priesaga"

    Tai gana paprasta, kaip ji pasireiškia scenarijuje. Jis tiesiog išeina pirmąjį ir pavardę, atskirtą tarpais, tada kitą vietą prieš telefono numerį. Čia taip pat pridedamas standartinis brūkšnys tarp „Exchange“ kodo ir abonento ID.

    Šis uždarymo laikiklis apačioje yra „ForEach-Object“ kilpos pabaiga nuo ankstesnio - praleiskite, jei jau turite jį.

    5 dalis. Scenarijaus išvalymas ir vykdymas

    Baigęs darbą, geras scenarijus žino, kaip išvalyti save. Vėlgi, žemiau esantis kintamojo pašalinimas iš tikrųjų nereikalingas, jei tik ketinate paleisti scenarijų iš konsolės, bet jūs to norėsite, jei kada nors ketinate ją paleisti ISE.

    Pašalinti elemento pseudonimą: g Pašalinti kintamąjį scenarijų aplanką, reikalaujamus failus, pavardę, vyrą, vardą, skaičių, skaičių, prefiksą, priesagą, „ValidInput“, „UserInput“

    Po to, kai tai padarysite, išsaugokite scenarijų su plėtiniu „.ps1“ tame pačiame aplanke, kaip ir jūsų vardų failai. Įsitikinkite, kad „ExecutionPolicy“ yra nustatytas taip, kad scenarijus galėtų paleisti ir suteikti jai sūkurį.

    Štai scenarijaus veiksmas:

    Taip pat galite atsisiųsti ZIP failą, kuriame yra šis „PowerShell“ scenarijus, ir tekstinius failus su vardų sąrašais iš toliau pateiktos nuorodos.

    „PowerShell“ atsitiktinis pavadinimas ir telefono numeris