Laman » bagaimana untuk » Bagaimana Menghasilkan Nama & Nombor Telefon Secara Rawak dengan PowerShell

    Bagaimana Menghasilkan Nama & Nombor Telefon Secara Rawak dengan PowerShell

    Apabila anda memerlukan set data untuk ujian atau demonstrasi, dan set itu perlu mewakili Maklumat Pengenalan Peribadi (PII), anda biasanya tidak mahu menggunakan data sebenar yang mewakili orang sebenar. Di sini, kami akan membimbing anda bagaimana anda boleh menggunakan PowerShell untuk menghasilkan senarai nama rawak dan nombor telefon untuk sekadar kesempatan itu.

    Apa yang kamu perlu

    Sebelum anda memulakan, terdapat beberapa alat dan maklumat yang anda perlukan:

    PowerShell

    Skrip ini dibangunkan menggunakan PowerShell 4.0, dan juga telah diuji untuk keserasian dengan PowerShell 2.0. PowerShell 2.0 atau yang lebih baru telah terbina dalam kepada Windows sejak Windows 7. Ia juga tersedia untuk Windows XP dan Vista sebagai sebahagian daripada Kerangka Pengurusan Windows (WMF). Beberapa butiran lanjut, dan pautan untuk muat turun, adalah di bawah.

    • PowerShell 2.0 dilengkapi dengan Windows 7. Pengguna Windows XP SP3 dan Vista (SP1 atau lebih baru) boleh memuat turun versi WMF yang sesuai dari Microsoft di KB968929. Ia tidak disokong pada XP SP2 atau di bawah, atau Vista tanpa SP1.
    • PowerShell 4.0 dilengkapi dengan Windows 8.1. Pengguna Windows 7 SP1 boleh menaik tarafnya sebagai sebahagian daripada kemas kini WMF dari Pusat Muat Turun Microsoft. Ia tidak tersedia untuk XP atau Vista.

    Nama-nama

    Anda memerlukan beberapa senarai nama untuk dimasukkan ke dalam penjana rawak. Sumber yang hebat untuk a banyak nama, dan maklumat mengenai popularitinya (walaupun itu tidak akan digunakan untuk skrip ini), adalah Biro Banci Amerika Syarikat. Senarai yang tersedia di pautan di bawah adalah sangat besar, jadi anda mungkin mahu memotongnya sedikit jika anda bercadang untuk menghasilkan banyak nama dan nombor sekaligus. Pada sistem ujian kami, setiap pasangan nama / nombor mengambil kira-kira 1.5 saat untuk menjana menggunakan senarai penuh tetapi perbatuan anda akan berubah-ubah bergantung pada spesifikasi sistem anda sendiri.

    • Nama keluarga
    • Nama Pertama Lelaki
    • Nama Pertama Perempuan

    Terlepas dari sumber yang anda gunakan, anda perlu menghasilkan tiga fail teks yang dapat digunakan oleh skrip sebagai kolam untuk pemilihan namanya. Setiap fail harus mengandungi hanya nama, dan hanya satu nama setiap baris. Ini perlu disimpan dalam folder yang sama seperti skrip PowerShell anda.

    Surnames.txt harus mengandungi nama keluarga yang anda mahu skrip dipilih dari. Contoh:

    Smith Johnson Williams Jones Brown

    Males.txt harus mengandungi nama pertama lelaki yang anda mahu skrip dipilih dari. Contoh:

    James John Robert Michael William

    Females.txt mesti mengandungi nama pertama wanita yang anda mahu skrip dipilih dari. Contoh:

    Mary Patricia Linda Barbara Elizabeth

    Peraturan untuk Nombor Telefon

    Jika anda ingin memastikan nombor telefon anda tidak sepadan dengan nombor telefon sebenar seseorang, cara yang paling mudah adalah menggunakan Kod Bursa "555" yang terkenal. Tetapi jika anda akan menunjukkan set data dengan banyak nombor telefon, 555 akan mula kelihatan sangat cepat membosankan. Untuk membuat perkara lebih menarik, kami akan menjana nombor telefon lain yang melanggar peraturan Rancangan Penomboran Amerika Utara (NANP). Berikut adalah beberapa contoh nombor telefon yang tidak sah, mewakili setiap kelas nombor yang akan dihasilkan oleh skrip ini:

    • (157) 836-8167
      Nombor ini tidak sah kerana Kod Kawasan tidak boleh dimulakan dengan 1 atau 0.
    • (298) 731-6185
      Nombor ini tidak sah kerana NANP tidak memberikan kod kawasan dengan 9 sebagai digit kedua.
    • (678) 035-7598
      Nombor ini tidak sah kerana Kod Exchange tidak dapat dimulakan dengan 1 atau 0.
    • (752) 811-1375
      Nombor ini tidak sah kerana Kod Exchange tidak boleh berakhir dengan dua 1s.
    • (265) 555-0128
      Nombor ini tidak sah kerana Kod Exchange adalah 555, dan ID Pelanggan berada dalam lingkungan yang dikhaskan untuk nombor rekaan.
    • (800) 555-0199
      Nombor ini adalah nombor 800 sahaja dengan kod Exchange 555 yang dikhaskan untuk digunakan sebagai nombor rekaan.

    Perhatikan bahawa peraturan di atas adalah tertakluk kepada perubahan dan mungkin berbeza mengikut bidang kuasa. Anda harus melakukan penyelidikan anda sendiri untuk mengesahkan peraturan semasa yang terpakai kepada locale yang mana anda akan menjana nombor telefon.

    Perintah biasa

    Terdapat beberapa arahan yang agak biasa yang akan digunakan sepanjang skrip ini, jadi anda harus mendapatkan idea asas tentang apa yang dimaksudkan sebelum kita menyelam ke dalam sebenarnya menulisnya.

    • ForEach-Object mengambil array, atau senarai, objek dan melaksanakan operasi yang dinyatakan pada setiap mereka. Dalam blok skrip ForEach-Object, pembolehubah $ digunakan untuk merujuk kepada item semasa yang diproses.
    • jika tidak Kenyataan membenarkan anda menjalankan operasi hanya jika syarat-syarat tertentu dipenuhi, dan (opsyenal) menentukan apa yang perlu dilakukan apabila keadaan itu tidak dipenuhi.
    • suis Kenyataan adalah seperti jika kenyataan dengan lebih banyak pilihan. Suis akan memeriksa objek terhadap beberapa syarat, dan menjalankan apa-apa blok skrip yang ditentukan untuk syarat-syarat yang sesuai dengan objek. Anda juga boleh, secara pilihan, menentukan blok lalai yang hanya akan dijalankan jika tiada syarat lain dipadankan. Tukar kenyataan juga menggunakan pembolehubah $ _ untuk merujuk kepada item semasa sedang diproses.
    • sementara Kenyataan membolehkan anda terus mengulangi blok skrip selagi keadaan tertentu dipenuhi. Sebaik sahaja sesuatu berlaku yang menyebabkan keadaan tidak lagi menjadi benar apabila blok skrip selesai, gelung keluar.
    • cuba tangkap pernyataan membantu dengan pengendalian ralat. Jika ada masalah dengan blok skrip yang ditentukan untuk dicuba, blok tangkapan akan dijalankan.
    • Get-Content melakukan apa yang dikatakannya kepada timah. Ia mendapat kandungan objek tertentu - biasanya fail. Ini boleh digunakan untuk memaparkan kandungan fail teks pada konsol atau, seperti dalam skrip ini, lulus kandungan di sepanjang saluran paip untuk digunakan dengan arahan lain.
    • Tulis-Host meletakkan barangan di konsol. Ini digunakan untuk membentangkan mesej kepada pengguna, dan tidak termasuk dalam output skrip jika output akan dialihkan.
    • Tulis-Output sebenarnya menghasilkan output. Biasanya, ini dibuang ke konsol tetapi ia juga boleh diarahkan oleh arahan lain.

    Terdapat perintah lain dalam skrip, tetapi kami akan menerangkan mereka ketika kami pergi.

    Membina Skrip

    Kini tiba masanya untuk mendapatkan tangan kita kotor.

    Bahagian 1: Bersedia Bersedia

    Jika anda menyukai skrip anda untuk mula berjalan dari konsol yang bersih, inilah baris pertama yang anda inginkan di dalamnya.

    Jelas-Hos

    Sekarang kita mempunyai skrin yang bersih, perkara seterusnya yang kita mahu lakukan ialah menyemak skrip untuk memastikan segala yang diperlukannya sudah ada. Untuk melakukan itu, kita perlu bermula dengan menceritakan di mana hendak melihat, dan apa yang perlu dicari.

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

    Baris pertama ada sangat berguna untuk skrip mana pun. Ia mentakrifkan pembolehubah yang menunjuk pada folder yang mengandungi skrip. Ini adalah penting jika skrip anda memerlukan fail lain yang terletak di direktori yang sama dengan dirinya sendiri (atau laluan relatif diketahui dari direktori itu), kerana anda tidak akan menemui kesalahan jika dan ketika anda cuba menjalankan skrip semasa anda berada di tempat lain direktori kerja.

    Baris kedua mencipta pelbagai nama fail yang diperlukan untuk skrip berjalan dengan betul. Kami akan menggunakan ini, bersama-sama dengan pembolehubah $ ScriptFolder, di bahagian seterusnya di mana kami menyemak untuk memastikan fail tersebut hadir.

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

    Bahagian ini skrip menghantar array $ RequiredFiles ke dalam blok ForEach-Object. Dalam blok skrip tersebut, pernyataan jika menggunakan Laluan Ujian untuk melihat apakah fail yang kami cari adalah di mana ia dimiliki. Path-Test adalah perintah mudah yang, apabila diberi laluan fail, mengembalikan tindak balas asas atau palsu untuk memberitahu kami jika laluan tersebut menunjukkan sesuatu yang wujud. Titik seru di sana adalah a tidak pengendali, yang membalikkan tindak balas Laluan Ujian sebelum menyampaikannya kepada kenyataan jika. Jadi jika Ujian Path kembali palsu (iaitu, fail yang kita cari tidak ada), ia akan ditukar menjadi benar supaya pernyataan jika akan melaksanakan blok skripnya.

    Satu lagi perkara yang perlu diperhatikan di sini, yang sering digunakan dalam skrip ini, ialah penggunaan petikan berganda bukannya petikan tunggal. Apabila anda memasukkan sesuatu dalam petikan tunggal, PowerShell melayannya sebagai rentetan statik. Apa yang ada dalam petikan tunggal akan diluluskan sama seperti yang ada. Petikan berganda memberitahu PowerShell untuk menterjemahkan pemboleh ubah dan beberapa item khas lain dalam rentetan sebelum menyampaikannya bersama. Di sini, petikan berganda bermakna bukannya berlari Test-Path '$ ScriptFolder \ $ _'  kita sebenarnya akan melakukan sesuatu yang lebih seperti Test-Path 'C: \ Scripts \ Surnames.txt' (dengan mengandaikan skrip anda dalam C: \ Scripts, dan ForEach-Object sedang berfungsi pada 'Surnames.txt').

    Untuk setiap fail tidak ditemui, Tulis-Host akan menghantar mesej ralat merah untuk memberitahu anda fail mana yang hilang. Kemudian ia menambah pembolehubah $ MissingFiles yang akan digunakan dalam sekeping seterusnya, ke ralat dan berhenti jika terdapat sebarang fail.

    jika ($ MissingFiles) Tulis-Host "Tidak dapat mencari fail sumber $ MissingFiles (s). Mengeluarkan skrip." -ForegroundColor Red Remove-Variable ScriptFolder, RequiredFiles, MissingFiles Exit

    Inilah satu lagi helah yang boleh anda lakukan jika ada kenyataan. Kebanyakan panduan yang akan anda lihat jika pernyataan akan memberitahu anda untuk menggunakan pengendali untuk memeriksa keadaan yang sepadan. Sebagai contoh, di sini kita boleh gunakan jika ($ MissingFiles -gt 0) untuk melihat jika $ MissingFiles lebih besar daripada sifar. Walau bagaimanapun, jika anda sudah menggunakan arahan yang mengembalikan nilai boolean (seperti dalam blok sebelumnya yang kami gunakan Test-Path) yang tidak perlu. Anda juga boleh melakukannya tanpa kes seperti ini, apabila anda hanya menguji untuk mengetahui sama ada nombor tidak sifar. Mana-mana nombor bukan sifar (positif atau negatif) dianggap sebagai benar, manakala sifar (atau, sebagaimana yang berlaku di sini, pemboleh ubah tidak wujud) akan dianggap sebagai palsu.

    Jika $ MissingFiles wujud, dan bukan sifar, Tulis-Host akan menyiarkan mesej yang memberitahu anda berapa banyak fail yang hilang dan skrip akan dibatalkan. Kemudian, Hapus-Variabel akan membersihkan semua pembolehubah yang kami buat dan Keluar akan keluar skrip. Pada konsol PowerShell biasa, Hapus-Variabel tidak semestinya diperlukan untuk tujuan tertentu ini kerana pembolehubah yang ditetapkan oleh skrip biasanya dibuang ketika skrip keluar. Walau bagaimanapun, PowerShell ISE bertindak sedikit berbeza supaya anda mungkin mahu menyimpannya dalam jika anda merancang untuk menjalankan skrip dari sana.

    Sekiranya semua perkara teratur, skrip akan diteruskan. Satu lagi penyediaan untuk membuat adalah alias yang kami akan sangat gembira untuk kemudiannya.

    New-Alias ​​g Get-Random

    Aliases digunakan untuk membuat nama ganti bagi arahan. Ini berguna untuk membantu kita mengenali antara muka baharu (mis.: PowerShell mempunyai alias terbina dalam seperti dir -> Get-ChildItem dan kucing -> Get-Content) atau membuat rujukan pendek bagi arahan biasa. Di sini, kami buat sangat rujukan ringkas untuk Dapatkan Rawak perintah yang akan digunakan banyak di kemudian hari.

    Get-Rawak cukup banyak apa namanya. Memandangkan pelbagai (seperti senarai nama) sebagai input, ia memilih item rawak dari array dan meludahkannya. Ia juga boleh digunakan untuk menjana nombor rawak. Perkara yang perlu diingati tentang Get-Random dan nombor walaupun itu, seperti banyak operasi komputer lain, ia mula mengira dari sifar. Jadi bukan Get-Random 10 bermakna lebih baik "beri saya nombor 1 hingga 10" ia benar-benar bermakna "memberi saya nombor dari 0 hingga 9." Anda boleh lebih spesifik tentang pemilihan nombor, supaya Get-Random bertindak seperti anda secara semulajadi menjangkakan, tetapi kita tidak memerlukannya dalam skrip ini.

    Bahagian 2: Mendapatkan Input Pengguna dan Mendapatkan Kerja

    Walaupun skrip yang menghasilkan hanya satu nama rawak & nombor telefon adalah hebat, lebih baik jika skrip membenarkan pengguna untuk menentukan jumlah nama & nombor yang mereka mahu masuk dalam satu kumpulan. Malangnya, kita tidak boleh benar-benar mempercayai pengguna untuk sentiasa memberi input yang sah. Jadi, ada sedikit lebih kecil daripada ini $ UserInput = Read-Host.

    manakala ! $ ValidInput cuba [int] $ ItemInput = Baca-Host -Prompt 'Item yang akan dihasilkan' $ ValidInput = $ true menangkap Write-Host ' Masukkan nombor sahaja. ' -ForegroundColor Red

    Pernyataan sementara di atas menyemak, dan menafikan, nilai $ ValidInput. Selagi $ ValidInput palsu, atau tidak wujud, ia akan terus berulang melalui blok skripnya.

    Kenyataan cuba mengambil input pengguna, melalui Read-Host, dan percubaan untuk mengubahnya menjadi nilai integer. (Itu sahaja [int] sebelum Baca-Host.) Jika berjaya, ia akan menetapkan $ ValidInput kepada benar supaya gelung sementara boleh keluar. Sekiranya tidak berjaya, blok tangkapan memuatkan ralat dan, kerana $ ValidInput tidak dapat ditetapkan, gelung sementara akan kembali dan meminta pengguna kembali.

    Sekali pengguna telah memberikan nombor dengan betul sebagai input, kami ingin skrip mengumumkan bahawa ia akan mula benar-benar melakukan kerja dan kemudian melakukannya.

    Write-Host "'nGenerating $ UserInput names & nombor telefon. Harap bersabar.'" 1 ... $ UserInput | ForEach-Object 

    Jangan bimbang, kami tidak akan meninggalkan anda sendiri untuk mengetahui kod rawak nama & nombor penjana. Itu hanya komen tempat untuk menunjukkan kepada anda di mana seksyen seterusnya (di mana kerja sebenar selesai) akan sesuai.

    Talian Write-Host agak mudah. Ia hanya mengatakan berapa banyak nama dan nombor telefon skrip yang akan dihasilkan, dan meminta pengguna bersabar sementara naskah itu berfungsi. The'n pada permulaan dan akhir rentetan adalah untuk memasukkan satu baris kosong sebelum dan selepas output itu, hanya untuk memberikan beberapa pemisahan visual antara baris input dan senarai nama & nombor. Perhatikan bahawa itu adalah tanda belakang (AKA "aksen kubur" - biasanya kunci di atas tab, di sebelah kiri 1) dan bukan sebut kata atau kutipan tunggal di hadapan setiap n.

    Bahagian seterusnya menunjukkan cara yang berbeza anda boleh menggunakan gelung ForEach-Object. Biasanya, apabila anda mahu blok skrip dijalankan beberapa kali, anda akan menetapkan biasa untuk gelung seperti untuk ($ x = 1; $ x -le $ UserInput; $ x ++) . ForEach-Object membolehkan kita mempermudahkannya dengan memberinya senarai bilangan bulat dan, dan bukannya menceritakannya untuk benar-benar melakukan apa-apa dengan bilangan bulat ini, kita hanya memberikan blok skrip statik untuk berjalan sehingga ia kehabisan bulat untuk melakukannya untuk.

    Bahagian 3: Menjana Nama Rawak

    Menjana nama adalah sedikit yang paling sederhana dalam proses ini. Ia hanya terdiri daripada tiga langkah: Memilih nama keluarga, memilih jantina, dan memilih nama pertama. Ingatlah bahawa alias yang kami buat untuk Dapatkan Rawak sebentar lagi? Masa untuk mula meletakkannya untuk digunakan.

        $ Surname = Get-Content "$ ScriptFolder \ Surnames.txt" | g $ Male = g 2 if ($ Male) $ FirstName = Get-Content "$ ScriptFolder \ Males.txt" | g else $ FirstName = Get-Content "$ ScriptFolder \ Females.txt" | g

    Baris pertama mengambil senarai nama keluarga kami, memasukkannya ke pemilih rawak, dan memberikan nama yang dipilih kepada $ Nama keluarga.

    Baris kedua memilih jantina orang kita. Ingat bagaimana Get-Random mula mengira daripada sifar, dan bagaimana sifar palsu dan segala-galanya adalah benar? Itulah cara kami menggunakannya Get-Random 2 (atau yang lebih pendek g 2 terima kasih kepada alias kami - kedua-duanya menghasilkan pilihan antara sifar atau satu) untuk memutuskan sama ada orang kita lelaki atau tidak. Pernyataan jika / lain selepas itu secara rawak memilih nama pertama lelaki atau perempuan dengan sewajarnya.

    Bahagian 4: Menjana Nombor Rawak Telefon

    Inilah bahagian yang benar-benar menyeronokkan. Sebelum ini, kami menunjukkan kepada anda bagaimana ada beberapa cara anda boleh membuat nombor telefon yang tidak sah atau palsu. Oleh kerana kami tidak mahu semua nombor kami kelihatan sama seperti satu sama lain, kami akan secara rawak memilih format nombor yang tidak sah setiap kali. Format yang dipilih secara rawak akan ditakrifkan oleh Kod Kawasan dan Kod Pertukaran mereka, yang secara kolektif akan disimpan sebagai $ Prefix.

        $ NumberFormat = g 5 suis ($ NumberFormat) 0 $ Prefix = "($ (g 2) $ (g 10) $ (g 10)  $ $ Prefix = "($ (g 10) $ $ (g 10) $ (g 10) $ (g 10) (g 10) $ (g 10)) $ (g 2) $ (g 10) $ (g 10) $ (g 10) 11 " 4 $ Prefix =" ($ (g 10) $ (g 10) $ (g 10)) 555 "

    Baris pertama adalah generasi nombor rawak mudah untuk memilih format yang akan kita ikuti untuk nombor telefon. Kemudian, pernyataan suis mengambil pilihan rawak itu dan menjana $ Prefix dengan sewajarnya. Ingat bahawa senarai jenis nombor telefon tidak sah? Nilai $ NumberFormat 0-3 sesuai dengan empat yang pertama dalam senarai itu. Nilai 4 boleh menghasilkan satu daripada dua yang terakhir, kerana kedua-duanya menggunakan Kod Pertukaran "555".

    Di sini, anda juga boleh melihat kami menggunakan helah lain dengan petikan berganda. Petikan dua kali tidak hanya membiarkan anda menafsirkan pembolehubah sebelum rentetan mendapat output - mereka juga membiarkan anda memproses blok skrip. Untuk melakukan itu, anda membungkus blok skrip seperti ini: "$ ()". Jadi apa yang anda ada di atas adalah banyak digit rawak secara individu, dengan sebahagian daripadanya sama ada terhad dalam julatnya atau ditetapkan secara statik mengikut peraturan yang perlu kita ikuti. Setiap rentetan juga mempunyai kurungan dan jarak seperti yang anda harapkan untuk melihat dalam satu Kod Kawasan dan pasangan Kod Exchange.

    Perkara terakhir yang perlu kita lakukan sebelum kita bersedia untuk mengeluarkan nama & nombor telefon kami adalah untuk menjana ID Pelanggan, yang akan disimpan sebagai $ Sufiks.

        suis ($ NumberFormat) $ _ -lt 4 $ Suffix = "$ (g 10) $ (g 10) $ (g 10) $ (g 10) 800) 555 '$ Suffix =' 0199 ' default $ Suffix = "01 $ (g 10) $ (g 10)"

    Kerana peraturan khas untuk nombor 555, kita tidak boleh menghasilkan empat digit rawak untuk setiap akhir nombor telefon yang akan dibuat skrip kami. Oleh itu, cek suis pertama untuk melihat sama ada kita berurusan dengan nombor 555. Jika tidak, ia menghasilkan empat digit rawak. Jika nombor 555, cek kedua untuk kod kawasan 800. Jika perlawanan itu, hanya ada satu Suffiks $ sah yang boleh kita gunakan. Jika tidak, ia dibenarkan untuk memilih dari apa-apa di antara 0100-0199.

    Perhatikan bahawa terdapat beberapa cara yang berbeza blok ini boleh ditulis, bukannya cara itu. Kedua-dua kenyataan suis boleh digantikan dengan jika / kenyataan lain, kerana mereka masing-masing hanya mengendalikan dua pilihan. Selain itu, bukannya secara khusus memanggil "4" sebagai pilihan untuk pernyataan suis pertama, "lalai" boleh digunakan sama seperti bagaimana ia dilakukan pada kedua kerana ia adalah satu-satunya pilihan yang tersisa. Pilihan antara jika / lain vs suis, atau di mana untuk menggunakan kata kunci lalai dan bukannya nilai-nilai tertentu, seringkali datang ke masalah keutamaan peribadi. Selagi ia berfungsi, gunakan apa sahaja yang anda paling selesa.

    Sekarang, sudah waktunya untuk output.

        Tulis-Output "$ FirstName $ Surname $ Prefix- $ Suffix"

    Ini cukup mudah seperti yang terdapat dalam skrip. Ia hanya mengeluarkan nama pertama dan terakhir yang dipisahkan oleh ruang, maka ruang lain sebelum nombor telefon. Di sinilah batas antara kod Exchange dan ID Pelanggan juga ditambah.

    Braket penutup di bahagian bawah adalah akhir gelung ForEach-Object dari sebelumnya - hilangkan ini jika anda sudah mendapatnya.

    Bahagian 5: Pembersihan dan Menjalankan Skrip

    Selepas semua kerja selesai, skrip yang baik tahu cara membersihkannya sendiri. Sekali lagi, penyingkiran pemboleh ubah di bawah ini tidak semestinya diperlukan jika anda hanya akan menjalankan skrip dari konsol tetapi anda akan menginginkannya jika anda merancang untuk menjalankannya dalam ISE.

    Buang-Item alias: \ g Buang-Variable ScriptFolder, RequiredFiles, Nama Keluarga, Lelaki, FirstName, NumberFormat, Prefix, Akhiran, ValidInput, UserInput

    Selepas anda selesai melakukannya, simpan skrip dengan sambungan ".ps1" dalam folder yang sama dengan fail nama anda. Pastikan ExecutionPolicy anda ditetapkan supaya skrip boleh berjalan, dan memberikan pusaran.

    Berikut ialah screenshot tangkapan dalam tindakan:

    Anda juga boleh memuat turun fail ZIP yang mengandungi skrip PowerShell ini, dan fail teks dengan senarai nama, dari pautan di bawah.

    Nama Rawak & Generator Nombor Telefon untuk PowerShell