Modul yang Memerlukan Penerimaan Lisensi
SINOPSIS
Departemen hukum untuk beberapa penerbit modul mengharuskan pelanggan harus secara eksplisit menerima lisensi sebelum menginstal modul mereka dari Galeri PowerShell. Jika pengguna menginstal, memperbarui, atau menyimpan modul menggunakan PowerShellGet, baik secara langsung atau sebagai dependensi untuk paket lain, dan modul tersebut mengharuskan pengguna menyetujui lisensi, pengguna harus menunjukkan bahwa mereka menerima lisensi atau operasi gagal.
Persyaratan Penerbitan untuk Modul
Modul yang ingin mengharuskan pengguna untuk menerima lisensi harus memenuhi persyaratan berikut:
- Bagian PSData dari manifes modul harus menyertakan RequireLicenseAcceptance = $True.
- Modul harus berisi file license.txt di direktori akar.
- Manifes modul harus berisi Uri Lisensi.
- Modul harus diterbitkan dengan Format PowerShellGet Versi 2.0 ke atas.
Dampak pada Instal/Simpan/Perbarui-Modul
- Cmdlet Instal/Simpan/Perbarui mendukung parameter baru AcceptLicense yang berulah seolah-olah pengguna melihat lisensi.
- Jika RequiredLicenseAcceptance true dan AcceptLicense tidak ditentukan, pengguna ditampilkan
license.txt
, dan diminta dengan:Do you accept these license terms (Yes/No/YesToAll/NoToAll)
.- Jika lisensi diterima
- Save-Module: modul disalin ke sistem pengguna
- Install-Module: modul disalin ke sistem pengguna ke folder yang tepat (berdasarkan cakupan)
- Update-Module: modul diperbarui.
- Jika lisensi ditolak.
- Operasi dibatalkan.
- Semua cmdlet memeriksa metadata (memerlukanLicenseAcceptance dan Versi Format) yang mengatakan penerimaan lisensi diperlukan
- Jika versi format klien lebih lama dari 2.0, operasi gagal dan meminta pengguna untuk memperbarui klien.
- Jika modul diterbitkan dengan versi format yang lebih lama dari 2.0, bendera requireLicenseAcceptance diabaikan.
- Jika lisensi diterima
Dependensi Modul
- Selama operasi Instal/Simpan/Perbarui, jika modul dependen (sesuatu yang lain tergantung pada modul) memerlukan penerimaan lisensi, maka perilaku penerimaan lisensi (di atas) diperlukan.
- Jika versi modul sudah tercantum dalam katalog lokal saat diinstal pada sistem, kami akan melewati pemeriksaan lisensi.
- Selama operasi Instal/Simpan/Perbarui, jika modul dependen memerlukan lisensi, dan penerimaan lisensi tidak terjadi, operasi gagal dan mengikuti proses normal untuk paket gagal menginstal/menyimpan/memperbarui.
Dampak pada -Force
Menentukan –Force
TIDAK cukup untuk menerima lisensi. –AcceptLicense
diperlukan agar izin diinstal. Jika –Force
ditentukan, RequiredLicenseAcceptance adalah True, dan –AcceptLicense
TIDAK ditentukan, operasi gagal.
CONTOH
Contoh 1: Perbarui Manifes Modul untuk mewajibkan penerimaan lisensi
Update-ModuleManifest -Path C:\modulemanifest.psd1 -RequireLicenseAcceptance -PrivateData @{
PSData = @{
# Flag to indicate whether the module requires explicit user acceptance
RequireLicenseAcceptance = $true
} # End of PSData hashtable
} # End of PrivateData hashtable
Perintah ini memperbarui file manifes dan mengatur bendera RequireLicenseAcceptance ke true.
Contoh 2: Menginstal Modul yang memerlukan penerimaan lisensi
Install-Module -Name ModuleRequireLicenseAcceptance
License Acceptance
License 2.0
Copyright (c) 2016 PowerShell Team
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software.
Do you accept the license terms for module 'ModuleRequireLicenseAcceptance'.
[Y] Yes [A] Yes to All [N] No [L] No to All [S] Suspend [?] Help (default is "N"):
Perintah ini memperlihatkan lisensi dari license.txt
file dan meminta pengguna untuk menerima lisensi.
Contoh 3: Instal Modul yang memerlukan penerimaan lisensi dengan -AcceptLicense
Install-Module -Name ModuleRequireLicenseAcceptance -AcceptLicense
Modul diinstal tanpa perintah untuk menerima lisensi.
Contoh 4: Instal Modul yang memerlukan penerimaan lisensi dengan -Force
Install-Module -Name ModuleRequireLicenseAcceptance -Force
PackageManagement\Install-Package : License Acceptance is required for module 'ModuleRequireLicenseAcceptance'. Please specify '-AcceptLicense' to perform this operation.
At C:\Program Files\WindowsPowerShell\Modules\PowerShellGet\1.1.3.3\PSModule.psm1:1837 char:21
+ ... $null = PackageManagement\Install-Package @PSBoundParameters
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidArgument: (Microsoft.Power....InstallPackage:InstallPackage) [Install-Package], E
xception
+ FullyQualifiedErrorId : ForceAcceptLicense,Install-PackageUtility,Microsoft.PowerShell.PackageManagement.Cmdlets
.InstallPackage
Contoh 5: Menginstal Modul dengan dependensi yang memerlukan penerimaan lisensi
Modul ModuleWithDependency bergantung pada modul ModuleRequireLicenseAcceptance. Pengguna diminta untuk menerima lisensi.
Install-Module -Name ModuleWithDependency
License Acceptance
MIT License 2.0
Copyright (c) 2016 PowerShell Team
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software.
Do you accept the license terms for module 'ModuleRequireLicenseAcceptance'.
[Y] Yes [A] Yes to All [N] No [L] No to All [S] Suspend [?] Help (default is "N"):
Contoh 6: Instal Modul dengan dependensi yang memerlukan penerimaan lisensi dan -AcceptLicense
Modul ModuleWithDependency bergantung pada modul ModuleRequireLicenseAcceptance. Pengguna tidak diminta untuk menerima lisensi karena AcceptLicense ditentukan.
Install-Module -Name ModuleWithDependency -AcceptLicense
Contoh 7: Menginstal modul yang memerlukan penerimaan lisensi pada klien yang lebih lama dari PSGetFormatVersion 2.0
Install-Module -Name ModuleRequireLicenseAcceptance
WARNING: The specified module 'ModuleRequireLicenseAcceptance' with PowerShellGetFormatVersion
'2.0' is not supported by the current version of PowerShellGet. Get the latest version of the
PowerShellGet module to install this module, 'ModuleRequireLicenseAcceptance'.
Contoh 8: Simpan Modul yang memerlukan penerimaan lisensi
Save-Module -Name ModuleRequireLicenseAcceptance -Path C:\Saved
License Acceptance
License 2.0
Copyright (c) 2016 PowerShell Team
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software.
Do you accept the license terms for module 'ModuleRequireLicenseAcceptance'.
[Y] Yes [A] Yes to All [N] No [L] No to All [S] Suspend [?] Help (default is "N"):
Perintah ini memperlihatkan lisensi dari license.txt
file dan meminta pengguna untuk menerima lisensi.
Contoh 9: Simpan Modul yang memerlukan penerimaan lisensi dengan -AcceptLicense
Save-Module -Name ModuleRequireLicenseAcceptance -AcceptLicense -Path C:\Saved
Modul disimpan tanpa perintah untuk menerima lisensi.
Contoh 10: Memperbarui Modul yang memerlukan penerimaan lisensi
Update-Module -Name ModuleRequireLicenseAcceptance
License Acceptance
License 2.0
Copyright (c) 2016 PowerShell Team
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software.
Do you accept the license terms for module 'ModuleRequireLicenseAcceptance'.
[Y] Yes [A] Yes to All [N] No [L] No to All [S] Suspend [?] Help (default is "N"):
Perintah ini memperlihatkan lisensi dari license.txt
file dan meminta pengguna untuk menerima lisensi.
Contoh 11: Memperbarui Modul yang memerlukan penerimaan lisensi dengan -AcceptLicense
Update-Module -Name ModuleRequireLicenseAcceptance -AcceptLicense
Modul diperbarui tanpa perintah untuk menerima lisensi.
Detail Selengkapnya
Memerlukan Penerimaan Lisensi untuk Skrip
Memerlukan dukungan Penerimaan Lisensi di PowerShellGallery
Mewajibkan Penerimaan Lisensi di Sebarkan ke Azure Automation
PowerShell Gallery