Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Industrial programming >> Bahasa C

Wawancara PowerShell 2026:40 Pertanyaan &Jawaban Pakar untuk Sukses

Mempersiapkan wawancara PowerShell? Memahami apa yang diharapkan dapat memperjelas kekuatan dan kesiapan Anda, dan panduan Wawancara PowerShell ini membantu Anda fokus pada hal yang benar-benar penting di lapangan.

Keterampilan PowerShell membuka pintu bagi beragam peran di mana pengalaman teknis dan keahlian domain membentuk hasil yang bermakna. Para profesional yang bekerja di bidang ini mengandalkan keterampilan analisis yang kuat, keahlian, serta pertanyaan dan jawaban umum untuk berkembang dari anggota tim yang baru menjadi anggota tim yang berpengalaman, membantu senior, pemimpin tim, dan manajer mengatasi tantangan teknis tingkat lanjut.

Baca lebih lanjut…

👉 Unduh PDF Gratis:Pertanyaan &Jawaban Wawancara PowerShell

1) Jelaskan perbedaan PowerShell dari Command Prompt Windows tradisional dan apa manfaat yang diberikan perbedaan ini.

PowerShell berbeda secara mendasar dari Command Prompt Windows tradisional karena merupakan kerangka kerja konfigurasi dan otomatisasi tugas dibangun di atas platform .NET, sedangkan CMD adalah penerjemah perintah berbasis teks. PowerShell memproses objek , bukan teks biasa, yang secara signifikan meningkatkan kemampuan skrip, penanganan kesalahan, dan operasi saluran. Pipeline berorientasi objek ini menghasilkan data terstruktur yang dapat dimanipulasi tanpa menguraikan teks secara manual.

Misalnya saat menjalankan Get-Process , PowerShell mengeluarkan objek .NET, memungkinkan operasi seperti pengurutan berdasarkan penggunaan CPU atau pemfilteran berdasarkan ambang batas memori. Keunggulan struktural ini meningkatkan keandalan, kemudahan pemeliharaan, dan skalabilitas otomatisasi di seluruh lingkungan perusahaan.

Tabel Perbedaan Utama

Faktor PowerShell CMD Tipe OutputBahasa TextScriptingBahasa skrip lengkapSkrip batch terbatasExtensibilityModules, cmdlet, kelas .NETMinimalAutomation LevelHighLow

2) Apa saja jenis cmdlet PowerShell yang berbeda, dan bagaimana kontribusinya terhadap siklus hidup PowerShell?

Cmdlet PowerShell terbagi dalam beberapa kategori, masing-masing berkontribusi pada siklus hidup perintah penemuan, eksekusi, otomatisasi, dan pelaporan. Cmdlet ini biasanya mengikuti Kata Kerja-Kata Benda konvensi penamaan, meningkatkan keterbacaan dan prediktabilitas. Memahami jenis ini membantu administrator menggunakan PowerShell dengan lebih efisien di seluruh siklus hidup manajemen sistem.

Jenis Cmdlet Utama

Contoh: Menggunakan Get-Service untuk mengetahui status layanan, Stop-Service untuk mengontrolnya, dan Set-Service untuk mengonfigurasi jenis startup menunjukkan alur siklus hidup.

3) Bagaimana cara kerja pipeline PowerShell, dan karakteristik apa yang membedakannya dengan pipeline di Bash atau CMD?

Pipeline PowerShell bekerja dengan mentransfer objek , bukan string, dari satu perintah ke perintah lainnya. Setiap tahapan dalam pipeline menerima objek .NET terstruktur yang dapat dimanipulasi dengan properti dan metode. Karakteristik ini membuat pipeline PowerShell lebih kuat, tidak rentan terhadap kesalahan, dan lebih mudah dipelihara dibandingkan pipeline di Bash atau CMD.

Di Bash, saluran pipa berbasis teks, memerlukan penguraian dan pemformatan manual untuk mengekstrak nilai. Di PowerShell, meneruskan objek memungkinkan perintah seperti:

Get-Process | Where-Object {$_.CPU -gt 100} | Select-Object Name, CPU

Ini tidak memerlukan penguraian teks karena setiap perintah beroperasi pada properti objek. Perbedaan antara PowerShell dan shell tradisional menghasilkan otomatisasi yang lebih bersih dan penanganan data yang lebih akurat.

4) Apa perbedaan antara Fungsi, Filter, dan Alur Kerja di PowerShell? Berikan contoh.

Fungsi, filter, dan alur kerja mewakili berbagai cara untuk merangkum logika di PowerShell, masing-masing menawarkan keunggulan unik bergantung pada kebutuhan eksekusi.

Contoh Tabel

Ketik Karakteristik Contoh Skenario FungsiMendukung parameter, desain modularMembuat logika otomasi kustomFilterMemproses input pipeline secara efisienMemfilter entri logAlur KerjaPemrosesan paralel, persistensiPatching multi-server

Contoh filter:

filter Get-LargeFiles { if ($_.Length -gt 1GB) { $_ } }

5) Faktor apa saja yang memengaruhi performa PowerShell, dan bagaimana administrator dapat meningkatkan efisiensi eksekusi?

Performa PowerShell bergantung pada metode pemrosesan, ukuran objek, strategi iterasi, overhead modul, dan desain skrip. Administrator dapat mengoptimalkan kinerja dengan meminimalkan operasi pipeline yang tidak perlu, menggunakan metode .NET asli bila diperlukan, dan memanfaatkan ForEach-Object -Parallel atau loop berbasis array tergantung pada beban kerja.

Peningkatan utama meliputi:

Contoh: Mengganti Get-Content file.txt | ForEach-Object {} dengan [IO.File]::ReadAllLines() secara dramatis meningkatkan kinerja pembacaan file, terutama untuk file besar.

6) Apa itu Profil PowerShell, dan bagaimana profil tersebut meningkatkan produktivitas pengguna?

Profil PowerShell adalah skrip yang berjalan secara otomatis setiap kali sesi PowerShell baru dimulai. Profil memungkinkan pengguna menentukan fungsi khusus, alias, variabel lingkungan, impor modul, atau penyesuaian UI. Hal ini memberikan lingkungan kerja yang konsisten dan meningkatkan produktivitas secara signifikan dengan mengurangi tindakan berulang.

Administrator sering kali membuat fungsi untuk tugas yang sering dijalankan seperti menghubungkan ke server atau memuat toolkit. Misalnya, menambahkan fungsi untuk terhubung ke Azure secara otomatis menggunakan kredensial yang telah ditentukan sebelumnya memungkinkan orientasi tim operasi yang lebih cepat.

PowerShell mendukung empat jenis profil , bergantung pada host dan cakupannya, memungkinkan konfigurasi yang disesuaikan untuk pengguna dan skenario otomatisasi seluruh sistem.

7) Bisakah Anda menjelaskan berbagai cara untuk menangani kesalahan di PowerShell, dan kapan setiap pendekatan paling tepat?

Penanganan kesalahan di PowerShell melibatkan teknik terstruktur untuk memastikan eksekusi yang dapat diprediksi. Administrator dapat memilih antara kesalahan terminasi, kesalahan yang tidak terminasi, blok coba/tangkap, $ErrorActionPreference , dan -ErrorAction parameter. Metode yang tepat bergantung pada siklus hidup skrip dan tingkat kritis tugas.

Metode

Contoh: Skrip migrasi database harus menggunakan try/catch untuk mencatat kesalahan dan memastikan tindakan rollback telah dilakukan.

8) Apa yang dimaksud dengan Modul di PowerShell, dan keuntungan apa yang diberikannya dalam lingkungan otomatisasi?

Modul PowerShell adalah paket yang berisi cmdlet, fungsi, alur kerja, sumber daya DSC, atau skrip yang dirancang untuk didistribusikan dan digunakan kembali. Mereka meningkatkan alur kerja otomatisasi dengan mengaktifkan pengembangan modular, mengurangi duplikasi skrip, dan menyederhanakan kontrol versi. Modul dapat dimuat secara otomatis dari jalur modul yang telah ditentukan sebelumnya dan sangat penting untuk otomatisasi tingkat perusahaan.

Keunggulannya antara lain:

Contoh: Modul Azure PowerShell menyediakan ratusan cmdlet untuk mengelola sumber daya cloud secara efisien.

9) Bagaimana cara kerja PowerShell Desired State Configuration (DSC), dan apa manfaatnya bagi pengelolaan infrastruktur?

PowerShell DSC adalah kerangka manajemen konfigurasi untuk mendefinisikan dan memelihara status sistem secara deklaratif. Administrator menulis skrip konfigurasi yang menentukan pengaturan yang diinginkan, seperti fitur yang diinstal, layanan, file, atau entri registri. Mesin DSC menerapkan konfigurasi ini secara otomatis, memastikan perilaku sistem yang konsisten.

Tabel Manfaat

Manfaat Deskripsi KonsistensiMemastikan sistem tetap dalam keadaan yang diinginkanKepatuhanMenerapkan konfigurasi berbasis kebijakanOtomasiMengurangi penyimpangan konfigurasi manualSkalabilitasIdeal untuk lingkungan perusahaan besar

Contoh: Konfigurasi DSC dapat memastikan bahwa IIS diinstal dengan modul tertentu, dan jika ada komponen yang diubah, DSC akan mengembalikannya ke status yang ditentukan.

10) Kapan Anda sebaiknya memilih skrip dengan PowerShell dibandingkan alat berbasis GUI? Berikan skenario dan justifikasi.

PowerShell sebaiknya dipilih ketika otomatisasi, kemampuan pengulangan, pemrosesan batch, atau skalabilitas diperlukan. Alat GUI sering kali cocok untuk tindakan tunggal tetapi menjadi tidak efisien untuk tugas yang berulang atau massal. PowerShell memungkinkan eksekusi, logging, kontrol versi, dan integrasi yang konsisten dengan CI/CD atau sistem manajemen konfigurasi.

Skenario

Keunggulan PowerShell mencakup pengurangan kesalahan manusia, peningkatan ketertelusuran, dan kemampuan untuk membuat parameter skrip untuk berbagai lingkungan.

11) Apa saja cara untuk menyimpan dan mengambil data di PowerShell?

PowerShell mendukung beberapa mekanisme penyimpanan data, memungkinkan pengguna untuk memilih berdasarkan persistensi, kompleksitas, dan skala. Data dapat disimpan sementara dalam variabel, array, atau tabel hash, atau disimpan secara persisten dalam file, registry, atau database.

Metode penyimpanan utama meliputi:

  1. Variabel: $name = "Guru99" – penyimpanan berbasis sesi yang paling sederhana.
  2. Array: $arr = @(1,2,3,4) – untuk koleksi yang dipesan.
  3. HashTable: @{Key="Value"} – untuk pasangan kunci/nilai.
  4. File CSV dan JSON: Menggunakan Export-Csv atau ConvertTo-Json untuk persistensi terstruktur.
  5. Registry dan Database: Memanfaatkan Set-ItemProperty atau konektor eksternal untuk data perusahaan.

Misalnya, Get-Service | Export-Csv Services.csv memungkinkan pengambilan nanti menggunakan Import-Csv , memastikan alur kerja pelaporan yang konsisten.

12) Bagaimana cara kerja PowerShell Alias, dan apa kelebihan dan kekurangannya?

Alias adalah nama atau pintasan alternatif untuk cmdlet, fungsi, atau skrip, yang dirancang untuk menyederhanakan penggunaan perintah dan meningkatkan produktivitas. Misalnya, ls adalah alias untuk Get-ChildItem .

Kelebihan

Kekurangan

Contoh Tabel

Aspek Keuntungan Kerugian Penggunaan InteraktifKecepatan dan keakrabanPortabilitas terbatasScriptingSintaks ringkasKeterbacaan berkurangKolaborasi TimKumpulan alias khususEksekusi tidak konsisten

13) Jelaskan kebijakan eksekusi PowerShell dan berbagai jenis yang tersedia.

Kebijakan eksekusi menentukan cara PowerShell memuat file dan skrip konfigurasi, bertindak sebagai perlindungan terhadap eksekusi yang tidak sah. Ini bukan batas keamanan tetapi kontrol keamanan.

Jenis Kebijakan Eksekusi

Kebijakan Deskripsi DibatasiTidak ada skrip yang diizinkan; hanya perintah interaktif.AllSignedHanya skrip yang ditandatangani yang dapat dijalankan.Skrip RemoteSignedLocal berjalan dengan bebas; skrip yang diunduh harus ditandatangani.Tidak dibatasiSemua skrip dapat berjalan tetapi memerlukan konfirmasi untuk skrip jarak jauh.MelewatiTidak ada batasan atau peringatan.Tidak ditentukanTidak ada kebijakan yang ditetapkan.

Administrator dapat mengubah kebijakan menggunakan Set-ExecutionPolicy RemoteSigned untuk keamanan dan fleksibilitas yang seimbang.

14) Apa itu Penyedia PowerShell, dan bagaimana cara mereka meningkatkan aksesibilitas ke penyimpanan data?

Penyedia PowerShell mengekspos penyimpanan data (seperti sistem file, registri, variabel lingkungan, atau sertifikat) sebagai ruang nama hierarki yang dapat dinavigasi seperti direktori. Mereka memperluas jangkauan PowerShell melampaui file hingga ke data sistem dan aplikasi.

Penyedia Contoh

Misalnya mengetik Set-Location HKLM:\Software memungkinkan navigasi registri yang identik dengan penjelajahan sistem file, menyatukan paradigma manajemen di berbagai sumber daya.

15) Bagaimana PowerShell menangani pekerjaan latar belakang, dan apa perbedaan antara pekerjaan dan tugas terjadwal?

Pekerjaan latar belakang memungkinkan eksekusi tugas asinkron tanpa memblokir sesi saat ini. Mereka berguna untuk menjalankan proses yang panjang sambil melanjutkan pekerjaan lain.

Tabel Perbedaan

Fitur Pekerjaan Latar Belakang Tugas Terjadwal EksekusiAsynchronous dalam sesi yang samaBerjalan pada waktu atau peristiwa yang ditentukanScopeSession-specialSystem-widePersistenceLost setelah sesi berakhirDisimpan dalam Penjadwal TugasGunakan KasusAd-hoc atau tugas sementara Otomatisasi berulang

Contoh: Start-Job -ScriptBlock { Get-Process } menjalankan proses yang dicantumkan secara asinkron.

16) Apa itu Script Block di PowerShell, dan di mana biasanya digunakan?

Blok skrip adalah unit kode PowerShell yang dapat digunakan kembali dan diapit kurung kurawal {}. Mereka berfungsi seperti fungsi anonim atau templat kode dan dapat dieksekusi, diteruskan sebagai argumen, atau disimpan untuk pemanggilan nanti.

Kasus Penggunaan Umum

Contoh:

$scriptBlock = { param($x) $x * 5 }
Invoke-Command -ScriptBlock $scriptBlock -ArgumentList 10

Ini mengembalikan 50, yang menggambarkan eksekusi kode yang ditangguhkan dan dapat digunakan kembali.

17) Jelaskan cara kerja jarak jauh PowerShell dan implikasi keamanannya.

PowerShell Remoting memungkinkan administrator untuk menjalankan perintah pada sistem jarak jauh menggunakan protokol WS-Management (WS-Man) atau SSH. Ini mendukung komunikasi satu-ke-satu dan satu-ke-banyak melalui Invoke-Command dan Enter-PSSession .

Fitur Keamanan

Contoh:

Invoke-Command -ComputerName Server01 -ScriptBlock { Get-Service }

Ini mengambil layanan dengan aman tanpa login langsung. Penguatan keamanan mencakup hanya mengaktifkan endpoint yang diperlukan dan membatasi izin melalui runspace terbatas.

18) Apa perbedaan utama antara PowerShell 5.1 dan PowerShell 7.x?

PowerShell 7.x (juga disebut PowerShell Core) bersifat lintas platform dan sumber terbuka, sedangkan PowerShell 5.1 hanya untuk Windows. Versi yang lebih baru mencakup peningkatan performa, paralelisasi pipeline, dan kompatibilitas modul modern.

Fitur PowerShell 5.1 PowerShell 7.x PlatformKhusus WindowsCross-platform (Windows, Linux, macOS)Framework.NET Framework.NET Core / .NET 6+Cmdlet ParallelismLimitedForEach-Object -Parallel dukunganKompatibilitasModul warisanModul yang diperbarui dan dimodernisasiPengembanganSumber tertutupSumber terbuka di GitHub

PowerShell 7.x ideal untuk lingkungan cloud dan DevOps yang memerlukan otomatisasi multi-OS.

19) Apa perbedaan antara Impor-Modul dan menggunakan metode Dot Sourcing di PowerShell?

Kedua metode memuat skrip atau fungsi ke dalam sesi saat ini, namun perilakunya berbeda dalam cakupan dan persistensinya.

Tabel Perbandingan

Aspek Modul Impor Sumber Titik ScopeCakupan modulCakupan saat iniPersistenceDikelola oleh PowerShellTemporaryUse CasePustaka modul yang dapat digunakan kembaliFungsi kustom lokalContohImport-Module ActiveDirectory . .\MyFunctions.ps1

Sumber titik berguna selama pengembangan; Import-Module lebih baik untuk otomatisasi produksi.

20) Bagaimana cara mengamankan informasi sensitif seperti sandi dalam skrip PowerShell?

Mengamankan kredensial sangat penting dalam otomatisasi. PowerShell menyediakan beberapa metode aman untuk menyimpan dan menangani kata sandi.

Teknik Aman

  1. String Aman:
    Read-Host -AsSecureString mencegah masukan teks biasa.
  2. Objek Kredensial:
    Get-Credential membuat objek PSCredential untuk autentikasi.
  3. File Terenkripsi:
    Gunakan Export-Clixml dan Import-Clixml untuk menyimpan kredensial terenkripsi yang terikat pada konteks pengguna/mesin.
  4. Modul Manajemen Rahasia:
    Integrasi brankas terpusat untuk rahasia perusahaan.

Contoh:

$cred = Get-Credential
Invoke-Command -ComputerName Server01 -Credential $cred -ScriptBlock { Get-Service }

Hal ini memastikan kredensial tidak pernah muncul dalam teks biasa, sehingga menjaga kepatuhan dan keamanan operasional.

21) Apa yang dimaksud dengan Parameter dalam fungsi PowerShell, dan jenis parameter apa yang dapat Anda tentukan?

Parameter di PowerShell memungkinkan pengguna meneruskan argumen secara dinamis ke fungsi, sehingga meningkatkan fleksibilitas, kegunaan kembali, dan keterbacaan. Parameter dapat menerima masukan pengguna, mengontrol alur eksekusi, dan menerapkan validasi data.

Jenis Parameter

Ketik Deskripsi Contoh Berbasis Urutan Posisi; posisi argumen pentingfunction Test { param($a,$b) } NamedArguments direferensikan secara eksplisitTest -a 1 -b 2 WajibMembutuhkan masukan atau memunculkan kesalahan[Parameter(Mandatory)] OpsionalNilai default ditentukan$param = "Default" Input PipelineMenerima input melalui pipeline[Parameter(ValueFromPipeline)] DinamisDitambahkan saat runtimeDigunakan dalam cmdlet tingkat lanjut

Contoh Fungsi:

function Get-UserInfo {
 param(
 [Parameter(Mandatory)][string]$Username,
 [int]$Age = 25
 )
 Write-Output "User: $Username, Age: $Age"
}

Ini menunjukkan jenis parameter wajib dan opsional untuk meningkatkan fleksibilitas.

22) Jelaskan arsitektur berorientasi objek PowerShell dan kelebihannya.

Arsitektur PowerShell berorientasi objek, memanfaatkan kerangka .NET untuk memanipulasi objek terstruktur, bukan teks tidak terstruktur. Setiap perintah mengembalikan objek kaya dengan properti dan metode, memungkinkan otomatisasi kompleks tanpa manipulasi string.

Kelebihan:

Contoh:

$service = Get-Service | Where-Object {$_.Status -eq "Running"}
$service.Name

Ini mengambil nama layanan langsung dari properti objek — tidak diperlukan pemfilteran teks. Model ini meningkatkan performa, keterbacaan, dan keandalan skrip otomatisasi.

23) Bagaimana PowerShell dapat diintegrasikan dengan REST API? Berikan contoh.

PowerShell dapat menggunakan RESTful API menggunakan Invoke-RestMethod atau Invoke-WebRequest , memungkinkan interaksi langsung dengan layanan web modern. Ini menangani muatan JSON, XML, atau data mentah secara efisien.

Langkah-langkah untuk mengintegrasikan:

  1. Identifikasi titik akhir API dan metode autentikasi.
  2. Gunakan Invoke-RestMethod untuk mengirim permintaan GET/POST.
  3. Mengurai respons JSON/XML.
  4. Gunakan objek PowerShell untuk otomatisasi selanjutnya.

Contoh:

$response = Invoke-RestMethod -Uri "https://api.github.com/users/microsoft/repos"
$response | Select-Object name, html_url

Ini mengambil repositori GitHub dalam bentuk objek. Integrasi dengan API memungkinkan otomatisasi cloud, pipeline DevOps, dan alur kerja berbasis data.

24) Apa itu Kelas PowerShell, dan apa bedanya dengan Fungsi?

Kelas PowerShell diperkenalkan di versi 5.0, memungkinkan pemrograman berorientasi objek dengan enkapsulasi, pewarisan, dan polimorfisme.

Perbedaan Utama:

Aspek Kelas Fungsi DefinisiCetak biru untuk membuat objekBlok kode yang dapat digunakan kembaliNegaraMempertahankan propertiStateless (kecuali menggunakan vars global)WarisanDidukungTidak didukungGunakan KasusModul otomasi kompleksTindakan sederhana yang dapat digunakan kembali

Contoh:

class Employee {
 [string]$Name
 [int]$ID
 Employee([string]$n,[int]$i){ $this.Name=$n; $this.ID=$i }
}
$emp = [Employee]::new("Alice",101)
$emp.Name

Kelas meningkatkan pengorganisasian kode dalam proyek otomatisasi skala besar.

25) Apa itu CIM di PowerShell, dan apa bedanya dengan WMI?

CIM (Common Information Model) dan WMI (Windows Management Instrumentation) adalah kerangka kerja untuk mengelola sumber daya sistem. CIM adalah implementasi berbasis standar yang lebih baru yang menggunakan WS-Man, bukan DCOM untuk komunikasi.

Perbedaan Antara CIM dan WMI

Fitur Cmdlet WMI Cmdlet CIM ProtokolDCOMWS-ManPerformanceLebih lambatLebih cepat dan ramah firewallKhusus lintas platformWindowsKompatibel lintas platformCmdletGet-WmiObject Get-CimInstance KonektivitasRPCM LamaHTTPS modern

Contoh:

Get-CimInstance -ClassName Win32_OperatingSystem

CIM lebih disukai di PowerShell modern untuk pengelolaan jarak jauh dan integrasi cloud karena model komunikasi standarnya.

26) Bagaimana cara mengelola file dan direktori menggunakan perintah PowerShell?

PowerShell menyediakan cmdlet untuk manajemen sistem file yang komprehensif. Cmdlet ini meniru perintah gaya UNIX tetapi beroperasi pada objek Windows.

Cmdlet Manajemen File Umum

Aksi Cmdlet Contoh Buat FileNew-Item New-Item test.txt -ItemType File Salin FileCopy-Item Copy-Item file1.txt C:\Backup Pindahkan FileMove-Item Move-Item data.txt C:\Data Hapus FileRemove-Item Remove-Item old.txt Telusuri FileGet-ChildItem Get-ChildItem *.log -Recurse

Contoh skrip untuk menghapus file log yang lebih lama dari 30 hari:

Get-ChildItem C:\Logs -Recurse | 
Where-Object {$_.LastWriteTime -lt (Get-Date).AddDays(-30)} | 
Remove-Item

Hal ini mengotomatiskan tugas pemeliharaan secara efisien.

27) Jelaskan penggunaan loop Foreach di PowerShell dengan contoh.

foreach konstruk memungkinkan iterasi melalui kumpulan objek, menyederhanakan operasi batch. PowerShell mendukung dua variasi utama:foreach pernyataan dan ForEach-Object cmdlet.

Contoh penggunaan pernyataan foreach:

$names = @("Alice", "Bob", "Carol")
foreach ($n in $names) { Write-Output "Hello, $n" }

Contoh penggunaan ForEach-Object:

Get-Process | ForEach-Object { $_.Name }

Perbedaan:

Pilihan di antara keduanya bergantung pada ukuran data dan persyaratan performa.

28) Bagaimana cara kerja Peristiwa PowerShell dan Penanganan Peristiwa?

PowerShell mendukung pemrograman berbasis peristiwa, memungkinkan skrip bereaksi terhadap perubahan sistem atau pemicu yang ditentukan pengguna.

Jenis Acara:

Contoh:

Register-WmiEvent -Query "SELECT * FROM __InstanceCreationEvent WITHIN 5 WHERE TargetInstance ISA 'Win32_Process'" -Action {
 Write-Output "New process detected!"
}

Ini mendengarkan proses baru dan mengeksekusi tindakan secara otomatis, sehingga PowerShell cocok untuk pemantauan sistem proaktif.

29) Apa itu PowerShell DSC Pull Server, dan apa bedanya dengan mode Push?

Di Konfigurasi Status yang Diinginkan (DSC) PowerShell , konfigurasi dapat diterapkan di Push atau Tarik modus.

Tabel Perbedaan

Mode Deskripsi Kasus Penggunaan PushKonfigurasi didorong secara manual melalui skripLingkungan kecilPullNodes mengambil konfigurasi dari server pusatOtomasi skala perusahaanKomunikasiAdmin → NodeNode → ServerScalabilityLimitedSangat terukur

Contoh: Dalam mode Tarik, konfigurasi disimpan di server HTTP/SMB, dan node memeriksa secara berkala untuk mengambil pembaruan secara otomatis. Mode tarik ideal untuk menjaga kepatuhan di ratusan server tanpa intervensi manual.

30) Bagaimana PowerShell dapat berinteraksi dengan sumber daya Azure?

PowerShell terintegrasi secara lancar dengan Azure melalui modul Az , yang menyediakan ratusan cmdlet untuk mengelola layanan cloud.

Cmdlet Azure PowerShell Umum

Aksi Cmdlet Contoh MasukConnect-AzAccount Hubungkan ke langganan AzureResource ManagementNew-AzResourceGroup Buat grup sumber dayaMesin VirtualGet-AzVM Ambil detail VMPenyimpananGet-AzStorageAccount Kelola akun penyimpanan

Contoh Skrip:

Connect-AzAccount
New-AzResourceGroup -Name "TestRG" -Location "EastUS"
Get-AzVM

PowerShell memungkinkan Infrastruktur sebagai Kode untuk Azure, mendukung otomatisasi, pipeline CI/CD, dan penerapan multi-wilayah secara efektif.

31) Bagaimana cara menerapkan logging dan audit di skrip PowerShell?

Pencatatan log dan audit sangat penting untuk melacak eksekusi skrip, memecahkan masalah, dan menjaga kepatuhan. PowerShell menyediakan beberapa metode untuk menangkap log secara efisien.

Praktik Terbaik untuk Logging:

  1. Gunakan Transkrip Awal / Transkrip Hentikan: Merekam semua aktivitas konsol.
  2. Output Tulis atau Verbose Tulis: Menghasilkan data terstruktur ke file log.
  3. Fungsi Pencatatan Log Khusus: Buat penangan log terpusat menggunakan Out-File atau Add-Content .
  4. Log Peristiwa: Menulis ke Windows Event Viewer menggunakan Write-EventLog .

Contoh:

Start-Transcript -Path "C:\Logs\ScriptLog.txt"
Write-Output "Script started at $(Get-Date)"
# Your code here
Stop-Transcript

Kiat: Gunakan log JSON terstruktur untuk integrasi dengan alat pemantauan seperti Splunk atau Azure Monitor.

32) Jelaskan cara men-debug skrip PowerShell secara efektif.

Proses debug di PowerShell melibatkan alat dan teknik untuk mengidentifikasi kesalahan logika, kegagalan waktu proses, atau keluaran yang tidak terduga.

Metode untuk Melakukan Debug:

Contoh:

Set-PSBreakpoint -Script .\MyScript.ps1 -Line 12

Ini menjeda eksekusi pada baris 12 untuk pemeriksaan.

Untuk proses debug lebih mendalam, gunakan ekstensi PowerShell terintegrasi VS Code dengan breakpoint dan analisis tumpukan panggilan.

33) Apa itu PowerShell Streams, dan apa bedanya dengan keluaran standar?

PowerShell memiliki enam aliran keluaran berbeda , masing-masing memiliki tujuan unik dalam memisahkan data dan pesan selama eksekusi.

Aliran Deskripsi Contoh Cmdlet 1KeluaranWrite-Output 2KesalahanWrite-Error 3PeringatanWrite-Warning 4VerboseWrite-Verbose 5DebugWrite-Debug 6InformasiWrite-Information

Struktur ini memungkinkan pengalihan jenis pesan tertentu.

Contoh:

Get-ChildItem "C:\Invalid" 2> error.log

Hanya mengalihkan kesalahan, menjaga konsol tetap bersih.

Memahami aliran sangat penting untuk otomatisasi yang bersih dan pengelolaan log yang tepat.

34) Bagaimana PowerShell dapat diintegrasikan dengan pipeline CI/CD seperti Jenkins atau Azure DevOps?

PowerShell terintegrasi dengan lancar ke dalam lingkungan CI/CD untuk mengotomatisasi pengujian, penerapan, dan konfigurasi.

Metode Integrasi:

  1. Jenkins: Gunakan skrip PowerShell dalam tahap pembuatan melalui langkah “Jalankan Windows PowerShell”.
  2. Azure DevOps: Tambahkan tugas PowerShell dalam alur untuk penyediaan dan penerapan.
  3. Tindakan GitHub: Jalankan .ps1 skrip untuk otomatisasi lintas platform.

Contoh:

- task: PowerShell@2
 inputs:
 filePath: 'scripts/Deploy.ps1'
 arguments: '-Environment Prod'

Cuplikan ini menjalankan skrip PowerShell di saluran Azure DevOps.

Kemampuan PowerShell untuk mengelola sumber daya Azure dan menangani konfigurasi menjadikannya ideal untuk Infrastruktur sebagai Kode dalam alur kerja DevOps.

35) Apa itu Runspace di PowerShell, dan bagaimana cara meningkatkan kinerjanya?

Runspace adalah konteks eksekusi ringan yang memungkinkan pemrosesan paralel dalam PowerShell. Proses tersebut lebih efisien dibandingkan meluncurkan beberapa proses PowerShell karena keduanya berbagi lingkungan host yang sama.

Kelebihan:

Contoh:

$pool = [runspacefactory]::CreateRunspacePool(1,5)
$pool.Open()

Runspace memungkinkan skenario multi-threading tingkat lanjut, terutama dalam skrip yang menangani ribuan objek atau titik akhir jarak jauh.

36) Bagaimana cara menjadwalkan skrip PowerShell berulang untuk otomatisasi?

Skrip PowerShell dapat dijadwalkan menggunakan Penjadwal Tugas , Pekerjaan Terjadwal , atau melalui Azure Automation untuk lingkungan cloud.

Metode:

  1. Penjadwal Tugas Windows:
    Buat tugas menggunakan GUI atau schtasks.exe .
  2. Pekerjaan Terjadwal:
    Gunakan Register-ScheduledJob untuk menentukan eksekusi berulang.
  3. Otomasi Azure:
    Menjadwalkan runbook PowerShell berbasis cloud.

Contoh:

Register-ScheduledJob -Name "DailyBackup" -ScriptBlock {Backup-Database} -Trigger (New-JobTrigger -Daily -At 3AM)

Tindakan ini mengotomatiskan pekerjaan pencadangan harian pada pukul 3 pagi.

Penjadwalan meningkatkan kesinambungan operasional tanpa intervensi manual.

37) Apa saja teknik penyesuaian kinerja utama untuk skrip PowerShell?

Penyetelan performa memastikan skrip dijalankan lebih cepat dan menggunakan lebih sedikit resource.

Teknik:

Example: Instead of:

Get-Content largefile.txt | ForEach-Object {$_}

Use:

[System.IO.File]::ReadAllLines("largefile.txt")

This method improves speed by directly accessing the file through .NET classes.

38) How can PowerShell be used to monitor system performance and resources?

PowerShell provides cmdlets and WMI/CIM interfaces to monitor system metrics, making it suitable for proactive resource management.

Useful Cmdlets:

Example:

Get-Counter -Counter "\Processor(_Total)\% Processor Time"

You can automate alerts using conditional logic, e.g., trigger an email if CPU usage exceeds 90%.

Integrating this into monitoring pipelines supports continuous health checks.

39) What is PowerShell Transcript, and how does it differ from other logging methods?

The PowerShell transcript records all session activity, including commands and outputs, to a text file for auditing and compliance.

Key Features:

Example:

Start-Transcript -Path "C:\Logs\AdminSession.txt"
# Commands executed here
Stop-Transcript

Difference from logging: Transcripts capture interactive sessions, while logging focuses on specific messages or outputs within scripts.

40) How can PowerShell scripts be secured before sharing or deployment?

Securing scripts prevents unauthorized modifications, tampering, or credential exposure.

Security Measures:

  1. Code Signing: Use digital certificates with Set-AuthenticodeSignature .
  2. Execution Policy Control: Use AllSigned to ensure only verified scripts run.
  3. Obfuscation: Protect sensitive logic using ConvertTo-SecureString and environment variables.
  4. Version Control: Store scripts in Git with restricted access.
  5. Validation: Include checksums or hashes for file integrity.

Example:

Set-AuthenticodeSignature .\Deploy.ps1 @(Get-ChildItem Cert:\CurrentUser\My -CodeSigningCert)

Code signing ensures authenticity and prevents script tampering during distribution.

🔍 Top PowerShell Interview Questions with Real-World Scenarios &Strategic Responses

Below are 10 professionally relevant PowerShell interview questions along with what the interviewer expects and strong sample answers. The questions include knowledge-based , behavioral , and situational styles, all crafted to reflect real hiring practices.

1) What is PowerShell, and how does it differ from the traditional Command Prompt?

Expected from candidate: The interviewer wants to assess understanding of PowerShell’s object-oriented design and its advantages over text-based shells.

Example answer: PowerShell is a task automation and configuration management framework built on .NET. It differs from the traditional Command Prompt because PowerShell outputs structured objects rather than plain text, allowing for more advanced scripting, automation, and integration with system APIs and modules.

2) Can you explain what a cmdlet is in PowerShell?

Expected from candidate: Ability to describe the building blocks of PowerShell commands.

Example answer: A cmdlet is a lightweight PowerShell command built on the .NET framework. Cmdlets follow a Verb-Noun naming convention, such as Get-Process, and they return objects that can be piped into other cmdlets for powerful automation workflows.

3) Describe a challenging automation script you wrote and how you ensured its reliability.

Expected from candidate: Insight into scripting complexity, testing practices, and problem solving.

Example answer: In my previous role, I created a PowerShell script to automate user onboarding across multiple systems. I ensured its reliability through modular functions, extensive error handling, and by running test cases in a staging environment before deployment.

4) How do you handle errors in PowerShell scripts?

Expected from candidate: Understanding of error handling techniques.

Example answer: I handle errors using Try, Catch, Finally blocks. I also use the ErrorAction parameter when calling cmdlets to control how they respond to non-terminating errors. Logging error details helps with diagnosing failures and improving long-term script stability.

5) How would you troubleshoot a script that suddenly starts running slowly in a production environment?

Expected from candidate: A methodical approach to determining root cause.

Example answer: At a previous position, I began by isolating recent changes and checking for resource-intensive loops or excessive API calls. I then used Measure-Command to evaluate performance bottlenecks and applied optimization techniques such as caching results and minimizing redundant queries.

6) What is the pipeline in PowerShell, and why is it useful?

Expected from candidate: Understanding of one of PowerShell’s core strengths.

Example answer: The pipeline allows the output of one cmdlet to be passed as input into another. This is useful because it enables efficient chaining of commands, reduces temporary variables, and supports a clean, object-based flow of data.

7) Describe how you would automate the deployment of software across multiple machines using PowerShell.

Expected from candidate: Familiarity with remote execution and automation best practices.

Example answer: I would leverage PowerShell Remoting with Invoke-Command to execute installation scripts across multiple hosts. I would validate software availability, log installation results, and use parallel processing techniques like PowerShell jobs to speed up deployment.

8) How do you typically collaborate with team members when developing scripts?

Expected from candidate: Communication, documentation, and teamwork skills.

Example answer: At my previous job, I collaborated through version control systems such as Git, conducted script reviews, and followed agreed-upon style guidelines. I also created documentation that explained script usage and dependencies so team members could adopt and maintain them easily.

9) What steps would you take if a script you wrote caused an unexpected outage?

Expected from candidate: Accountability, composure, and structured incident response.

Example answer: I would immediately stop the script, inform relevant stakeholders, and begin reviewing logs to identify what caused the issue. I would implement a fix, validate it in a test environment, and update documentation or safeguards to prevent recurrence.

10) How do you stay updated with new PowerShell features and best practices?

Expected from candidate: Demonstrates continuous learning.

Example answer: In my last role, I stayed updated by following the PowerShell GitHub repository, participating in community forums, and reading official Microsoft documentation. I also attended virtual meetups where professionals shared new techniques and practical use cases.


Bahasa C

  1. switch…case di C (Switch Statement in C) dengan Contoh
  2. C# untuk loop
  3. C# - Atribut
  4. Jenis Perulangan C++
  5. C - Variabel
  6. C - Serikat
  7. C Fungsi yang ditentukan pengguna
  8. C# - Arahan Preprosesor
  9. C# String
  10. C Pernyataan Bersyarat:IF, IF Else dan Nested IF Else dengan Contoh