Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
STRESZCZENIE
Działy prawne niektórych wydawców modułów wymagają, aby klienci musieli jawnie zaakceptować licencję przed zainstalowaniem modułu z Galeria programu PowerShell. Jeśli użytkownik instaluje, aktualizuje lub zapisuje moduł przy użyciu programu PowerShellGet, bezpośrednio lub jako zależność dla innego pakietu, a ten moduł wymaga od użytkownika wyrażenia zgody na licencję, użytkownik musi wskazać, że akceptuje licencję lub operacja zakończy się niepowodzeniem.
Wymagania dotyczące publikowania modułów
Moduły, które chciałyby wymagać od użytkowników akceptacji licencji, powinny spełniać następujące wymagania:
- Sekcja PSData manifestu modułu powinna zawierać RequireLicenseAcceptance = $True.
- Moduł powinien zawierać license.txt plik w katalogu głównym.
- Manifest modułu powinien zawierać identyfikator URI licencji.
- Moduł powinien zostać opublikowany przy użyciu PowerShellGet Format w wersji 2.0 lub nowszej.
Wpływ na instalację/zapisz/Update-Module
- Polecenia cmdlet Install/Save/Update obsługują nowy parametr AcceptLicense , który zachowuje się tak, jakby użytkownik widział licencję.
- Jeśli parametr RequiredLicenseAcceptance ma wartość True i nie zostanie określony parametr AcceptLicense , użytkownikowi zostanie wyświetlony symbol
license.txti zostanie wyświetlony monit o następującej treści:Do you accept these license terms (Yes/No/YesToAll/NoToAll).- Jeśli licencja zostanie zaakceptowana
- Save-Module: moduł jest kopiowany do systemu użytkownika
- Install-Module: moduł jest kopiowany do systemu użytkownika do odpowiedniego folderu (w zależności od zakresu)
- Update-Module: moduł jest aktualizowany.
- Jeśli licencja zostanie odrzucona.
- Operacja została anulowana.
- Wszystkie polecenia cmdlet sprawdzają, czy nie ma metadanych (requireLicenseAcceptance i Format Version), które informują, że wymagana jest akceptacja licencji
- Jeśli wersja formatu klienta jest starsza niż 2.0, operacja kończy się niepowodzeniem i prosi użytkownika o zaktualizowanie klienta.
- Jeśli moduł został opublikowany w wersji formatu starszej niż 2.0, flaga requireLicenseAcceptance jest ignorowana.
- Jeśli licencja zostanie zaakceptowana
Zależności modułów
- Podczas operacji instalacji/zapisywania/aktualizacji, jeśli moduł zależny (coś innego zależy od modułu) wymaga akceptacji licencji, wymagane jest zachowanie akceptacji licencji (powyżej).
- Jeśli wersja modułu jest już wymieniona w katalogu lokalnym jako zainstalowana w systemie, pominęlibyśmy sprawdzanie licencji.
- Podczas operacji instalacji/zapisywania/aktualizowania, jeśli moduł zależny wymaga licencji, a akceptacja licencji nie nastąpi, operacja zakończy się niepowodzeniem i będzie przebiegać zgodnie z normalnymi procesami dla pakietu, którego nie można zainstalować/zapisać/zaktualizować.
Wpływ na -Force
Określenie –Force NIE jest wystarczające do zaakceptowania licencji.
–AcceptLicense jest wymagany, aby uzyskać pozwolenie na instalację. Jeśli –Force zostanie określony, RequiredLicenseAcceptance ma wartość True i –AcceptLicense NIE zostanie określony, operacja zakończy się niepowodzeniem.
PRZYKŁADY
Przykład 1: Aktualizowanie manifestu modułu w celu wymagania akceptacji licencji
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
To polecenie aktualizuje plik manifestu i ustawia flagę RequireLicenseAcceptance na wartość true.
Przykład 2: Instalacja modułu wymagającego akceptacji licencji
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"):
To polecenie pokazuje licencję z license.txt pliku i monituje użytkownika o zaakceptowanie licencji.
Przykład 3: Instalacja modułu wymagającego akceptacji licencji za pomocą -AcceptLicense
Install-Module -Name ModuleRequireLicenseAcceptance -AcceptLicense
Moduł jest instalowany bez monitu o akceptację licencji.
Przykład 4: Zainstaluj moduł wymagający akceptacji licencji za pomocą -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
Przykład 5: Instalacja modułu z zależnościami wymagającymi akceptacji licencji
Moduł ModuleWithDependency zależy od modułu ModuleRequireLicenseAcceptance. Użytkownik zostanie poproszony o zaakceptowanie licencji.
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"):
Przykład 6: Instalacja modułu z zależnościami wymagającymi akceptacji licencji i -AcceptLicense
Moduł ModuleWithDependency zależy od modułu ModuleRequireLicenseAcceptance. Użytkownik nie jest monitowany o zaakceptowanie licencji, ponieważ określono opcję AcceptLicense .
Install-Module -Name ModuleWithDependency -AcceptLicense
Przykład 7: Zainstaluj moduł wymagający akceptacji licencji na kliencie starszym niż 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'.
Przykład 8: Zapisz moduł wymagający akceptacji licencji
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"):
To polecenie pokazuje licencję z license.txt pliku i monituje użytkownika o zaakceptowanie licencji.
Przykład 9: Zapisz moduł wymagający akceptacji licencji za pomocą -AcceptLicense
Save-Module -Name ModuleRequireLicenseAcceptance -AcceptLicense -Path C:\Saved
Moduł jest zapisywany bez monitu o akceptację licencji.
Przykład 10: Moduł aktualizacji wymagający akceptacji licencji
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"):
To polecenie pokazuje licencję z license.txt pliku i monituje użytkownika o zaakceptowanie licencji.
Przykład 11: Moduł aktualizacji wymagający akceptacji licencji za pomocą -AcceptLicense
Update-Module -Name ModuleRequireLicenseAcceptance -AcceptLicense
Moduł jest aktualizowany bez monitu o akceptację licencji.
Więcej szczegółów
Wymagaj akceptacji licencji dla skryptów
Wymagaj obsługi akceptacji licencji w programie PowerShellGallery
Wymagaj akceptacji licencji podczas wdrażania w usłudze Azure Automation
PowerShell Gallery