Menggunakan cakupan variabel dalam skrip Windows PowerShell
Anda mungkin mengharapkan bahwa variabel yang $computer Anda tetapkan di dalam fungsi dapat diakses dalam skrip setelah fungsi selesai. Bukan itu masalahnya. Variabel memiliki cakupan tertentu yang membatasi cara mereka berinteraksi dengan cakupan lain.
Tabel berikut menjelaskan tiga cakupan dan bagaimana pengaruhnya terhadap penggunaan variabel.
Tabel 1: Cakupan
| Ruang lingkup | Deskripsi |
|---|---|
| Mendunia | Variabel yang diatur pada prompt PowerShell tersedia untuk semua skrip yang dimulai dari perintah tersebut, tetapi tidak ke perintah lain atau instans ISE. |
| Skrip | Variabel yang diatur dalam skrip tersedia untuk semua fungsi dalam skrip tersebut. Jika Anda membuat variabel cakupan skrip dengan nama yang sama dengan variabel global, PowerShell membuat variabel baru dalam cakupan skrip, dan nilai cakupan skrip lebih diutamakan. |
| Fungsi | Variabel yang diatur dalam suatu fungsi tidak dibagikan dengan fungsi atau skrip lain. Jika Anda membuat variabel cakupan fungsi dengan nama yang sama dengan variabel global atau skrip, PowerShell membuat variabel baru dalam cakupan fungsi. |
Catatan
WINDOWS PowerShell ISE tidak lagi dalam pengembangan fitur aktif dan hanya mendukung Windows PowerShell 5.1 dan yang lebih lama. Untuk pengembangan skrip baru, Visual Studio Code dengan ekstensi PowerShell adalah lingkungan pembuatan skrip yang direkomendasikan.
Catatan
Hindari menggunakan nama variabel yang sama dalam cakupan yang berbeda.
Selain meninjau variabel dalam lingkup tingkat yang lebih tinggi, Anda juga dapat memodifikasi variabel tersebut dengan secara khusus mereferensikan lingkup variabel saat memodifikasinya. Untuk mengubah variabel lingkup skrip dari suatu fungsi, gunakan sintaks berikut:
$script:var = "Modified from function"
Hindari memodifikasi variabel di antara cakupan, karena dapat membuat kebingungan. Sebagai gantinya, atur variabel lingkup skrip sama dengan output fungsi. Jika data dalam fungsi berada dalam variabel, Anda dapat menggunakan Return() untuk meneruskannya kembali ke skrip.
Berikut ini adalah contoh penggunaan Return() di akhir fungsi untuk meneruskan nilai variabel kembali ke cakupan skrip:
Return($users)
Catatan
Menggunakan Return() dalam fungsi menambahkan data yang ditentukan ke alur data yang dikembalikan, tetapi tidak menggantikan data yang ada dalam alur. Sebagai bagian dari pengembangan skrip, Anda perlu memverifikasi dengan tepat data mana yang dikembalikan oleh suatu fungsi.