Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Azure PowerShell menggunakan objek konteks Azure PowerShell (konteks Azure) untuk menyimpan informasi langganan dan autentikasi. Jika Anda memiliki akses ke beberapa langganan, konteks Azure memungkinkan Anda memilih langganan untuk menjalankan cmdlet Azure PowerShell. konteks Azure juga digunakan untuk menyimpan informasi masuk di beberapa sesi PowerShell dan menjalankan tugas latar belakang.
Artikel ini membahas pengelolaan konteks Azure, bukan pengelolaan langganan atau akun. Jika Anda ingin mengelola pengguna, langganan, penyewa, atau informasi akun lainnya, lihat dokumentasi Microsoft Entra ID. Untuk mempelajari tentang menggunakan konteks untuk menjalankan tugas latar belakang atau paralel, lihat Menjalankan cmdlet Azure PowerShell dalam Pekerjaan PowerShell setelah memahami konteks Azure.
Gambaran umum objek konteks Azure
konteks Azure adalah objek PowerShell yang mewakili langganan aktif Anda untuk menjalankan perintah dan informasi autentikasi yang diperlukan untuk menyambungkan ke cloud Azure. Dengan konteks Azure, Azure PowerShell tidak perlu mengotorisasi ulang akun Anda setiap kali Anda beralih langganan. Konteks Azure terdiri dari:
-
account yang digunakan untuk masuk ke Azure dengan
Connect-AzAccount. Azure konteks memperlakukan pengguna, ID aplikasi, dan perwakilan layanan dengan cara yang sama dari perspektif akun. - langganan aktif adalah perjanjian layanan bersama Microsoft untuk membuat dan menjalankan sumber daya Azure yang terkait dengan tenant. Penyewa sering disebut sebagai organisasi dalam dokumentasi atau saat bekerja dengan Microsoft Entra.
- Referensi ke cache token, token autentikasi tersimpan untuk mengakses cloud Azure. Pengaturan penyimpanan otomatis konteks menentukan di mana token disimpan dan berapa lama token disimpan.
Untuk informasi selengkapnya tentang istilah-istilah ini, lihat terminologi Microsoft Entra. Token autentikasi yang digunakan oleh konteks Azure sama dengan token tersimpan lainnya yang merupakan bagian dari sesi persisten.
Saat Anda masuk dengan Connect-AzAccount, setidaknya satu konteks Azure dibuat untuk langganan default Anda. Objek yang dikembalikan oleh Connect-AzAccount adalah konteks Azure default yang digunakan untuk sisa sesi PowerShell.
Dapatkan konteks Azure
Konteks Azure yang tersedia diambil dengan cmdlet Get-AzContext. Cantumkan konteks yang tersedia dengan parameter ListAvailable :
Get-AzContext -ListAvailable
Atau dapatkan konteks berdasarkan nama:
Get-AzContext -Name MyContextName
Nama konteks mungkin berbeda dari nama langganan terkait. Untuk menentukan nama konteks, gunakan nilai properti Nama , yang tidak ditampilkan secara default.
Get-AzContext -ListAvailable | Select-Object -Property *
Important
Konteks Azure yang tersedia tidak selalu sama dengan subscription yang Anda miliki. Azure konteks hanya mewakili informasi yang disimpan secara lokal. Anda bisa mendapatkan langganan Anda dengan Get-AzSubscription cmdlet.
Membuat konteks Azure baru dari informasi langganan
Cmdlet Set-AzContext digunakan untuk membuat dan mengatur konteks Azure baru sebagai konteks aktif. Cara term mudah untuk membuat konteks Azure baru adalah dengan menggunakan informasi langganan yang sudah ada. Cmdlet Set-AzContext dirancang untuk mengambil objek output dari Get-AzSubscription sebagai nilai pipa dan mengonfigurasi konteks Azure baru:
Get-AzSubscription -SubscriptionName MySubscriptionName |
Set-AzContext -Name MyContextName
Atau berikan nama langganan atau ID dan ID penyewa jika perlu:
Set-AzContext -Name MyContextName -Subscription MySubscriptionName -Tenant 00000000-0000-0000-0000-000000000000
Jika parameter Nama dihilangkan, maka nama dan ID langganan digunakan sebagai nama konteks dalam format Subscription Name (subscription-id).
Mengubah konteks Azure aktif
Baik Set-AzContext dan Select-AzContext dapat digunakan untuk mengubah konteks Azure aktif. Seperti yang dijelaskan dalam Buat konteks Azure baru, Set-AzContext membuat konteks Azure baru untuk langganan jika tidak ada lalu mengalihkan konteks aktif ke konteks aktif tersebut.
Select-AzContext dimaksudkan untuk digunakan hanya dengan konteks Azure yang ada dan berfungsi sama dengan menggunakan Set-AzContext -Context, tetapi dirancang untuk digunakan dengan perpipaan:
Set-AzContext -Context (Get-AzContext -Name MyContextName) # Set a context with an inline Azure context object
Get-AzContext -Name MyContextName | Select-AzContext # Set a context with a piped Azure context object
Seperti banyak perintah manajemen akun dan konteks lainnya di Azure PowerShell, Set-AzContext dan Select-AzContext mendukung parameter Scope sehingga Anda dapat mengontrol berapa lama konteks aktif.
Scope memungkinkan Anda mengubah konteks aktif dari satu sesi tanpa mengubah setelan default Anda.
Get-AzContext -Name MyContextName | Select-AzContext -Scope Process
Untuk menghindari peralihan konteks untuk seluruh sesi PowerShell, Azure PowerShell perintah dengan parameter AzContext dapat dijalankan terhadap konteks tertentu:
$context = Get-AzContext -Name MyContextName
New-AzVM -Name ExampleVM -AzContext $context
Penggunaan utama konteks lainnya dengan cmdlet Azure PowerShell adalah menjalankan perintah latar belakang. Untuk mengetahui lebih lanjut tentang cara menjalankan PowerShell Jobs menggunakan Azure PowerShell, baca Menjalankan cmdlet Azure PowerShell dalam PowerShell Jobs.
Menyimpan konteks Azure di seluruh sesi PowerShell
Secara default, konteks Azure disimpan untuk digunakan di antara sesi PowerShell. Anda dapat mengubah perilaku ini dengan cara berikut:
Masuk menggunakan
-Scope ProcessdenganConnect-AzAccount.Connect-AzAccount -Scope ProcessKonteks Azure yang dikembalikan sebagai bagian dari penyelesaian masuk ini hanya valid untuk sesi saat ini dan tidak disimpan secara otomatis, terlepas dari pengaturan penyimpanan otomatis konteks Azure PowerShell.
Nonaktifkan penyimpanan otomatis konteks di Azure PowerShell dengan cmdlet
Disable-AzContextAutosave. Menonaktifkan penyimpanan otomatis konteks tidak menghapus token apa pun yang disimpan. Untuk mempelajari cara menghapus informasi konteks Azure tersimpan, lihat Remove Azure contexts dan kredensial yang disimpan.Mengaktifkan penyimpanan otomatis konteks Azure secara eksplisit dapat diaktifkan dengan cmdlet
Enable-AzContextAutosave. Dengan penyimpanan otomatis diaktifkan, konteks pengguna disimpan secara lokal untuk sesi PowerShell selanjutnya.Simpan konteks secara manual dengan
Save-AzContextuntuk digunakan dalam sesi PowerShell di masa mendatang, di mana konteks tersebut dapat dimuat denganImport-AzContext:Save-AzContext -Path current-context.json # Save the current context Import-AzContext -Path other-context.json # Load the context from a file and set it to the current context
Warning
Menonaktifkan penyimpanan otomatis konteks tidak menghapus informasi konteks tersimpan yang disimpan. Untuk menghapus informasi yang tersimpan, gunakan cmdlet Clear-AzContext. Untuk informasi selengkapnya tentang menghapus konteks tersimpan, lihat Hapus konteks Azure dan kredensial tersimpan.
Masing-masing perintah ini mendukung parameter Cakupan , yang dapat mengambil nilai Process untuk hanya berlaku untuk proses yang sedang berjalan saat ini. Misalnya, untuk memastikan bahwa konteks yang baru dibuat tidak disimpan setelah keluar dari sesi PowerShell:
Disable-AzContextAutosave -Scope Process
Set-AzContext -Subscription 'Subscription ID or Name' -Tenant 00000000-0000-0000-0000-000000000000
Informasi konteks dan token disimpan di direktori $env:USERPROFILE\.Azure pada Windows dan $HOME/.Azure di platform lain. Informasi sensitif seperti ID langganan dan ID penyewa mungkin masih diekspos dalam informasi tersimpan, melalui log, atau konteks yang disimpan. Untuk mempelajari cara menghapus informasi tersimpan, lihat Hapus konteks Azure dan kredensial tersimpan.
Menghapus konteks Azure dan kredensial tersimpan
Untuk menghapus konteks dan kredensial Azure:
Keluar dari akun dengan
Disconnect-AzAccount. Anda dapat keluar dari akun apa pun baik berdasarkan akun atau konteks:Disconnect-AzAccount # Disconnect active account Disconnect-AzAccount -Username 'user@contoso.com' # Disconnect by account name Disconnect-AzAccount -ContextName MyContextName # Disconnect by context name $context = Get-AzContext Disconnect-AzAccount -AzureContext $context # Disconnect using context object informationMemutuskan sambungan selalu menghilangkan token autentikasi yang tersimpan dan membersihkan konteks yang tersimpan yang terkait dengan pengguna atau konteks yang diputuskan.
Gunakan
Clear-AzContext. Cmdlet ini selalu menghapus konteks tersimpan dan token autentikasi serta keluar dari akun Anda.Hapus konteks dengan
Remove-AzContext:Remove-AzContext -Name MyContextName # Remove by name Get-AzContext -Name MyContextName | Remove-AzContext # Remove by piping an Azure context objectJika Anda menghapus konteks aktif, Anda terputus dari Azure dan perlu mengautentikasi ulang dengan
Connect-AzAccount.
Baca juga
Azure PowerShell