Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
PŘEHLED
Právní oddělení některých vydavatelů modulů vyžadují, aby zákazníci před instalací modulu z Galerie prostředí PowerShell explicitně přijali licenci. Pokud uživatel nainstaluje, aktualizuje nebo uloží modul pomocí modulu PowerShellGet, ať už přímo, nebo jako závislost pro jiný balíček, a tento modul vyžaduje, aby uživatel souhlasil s licencí, musí uživatel uvést, že licenci přijímá, jinak se operace nezdaří.
Požadavky na publikování modulů
Moduly, které chtějí po uživatelích vyžadovat přijetí licence, by měly splňovat následující požadavky:
- Část PSData manifestu modulu by měla obsahovat RequireLicenseAcceptance = $True.
- Modul by měl obsahovat license.txt soubor v kořenovém adresáři.
- Manifest modulu by měl obsahovat identifikátor URI licence.
- Modul by měl být publikován ve formátu PowerShellGet verze 2.0 a vyšší.
Dopad na instalaci/ukládání/Update-Module
- Rutiny Install/Save/Update podporují nový parametr AcceptLicense , který se chová, jako by uživatel licenci viděl.
- Pokud je RequiredLicenseAcceptance True a AcceptLicense není zadána, zobrazí se uživateli ikona
license.txta zobrazí se výzva s příkazem:Do you accept these license terms (Yes/No/YesToAll/NoToAll).- Pokud je licence přijata
- Save-Module: modul se zkopíruje do systému uživatele
- Install-Module: modul se zkopíruje do systému uživatele do správné složky (na základě rozsahu)
- Update-Module: modul je aktualizován.
- Pokud je licence zamítnuta.
- Operace je zrušena.
- Všechny rutiny kontrolují metadata (requireLicenseAcceptance a Format Version), která říkají, že je vyžadováno přijetí licence
- Pokud je verze formátu klienta starší než 2.0, operace se nezdaří a vyzve uživatele k aktualizaci klienta.
- Pokud byl modul publikován ve verzi formátu starší než 2.0, příznak requireLicenseAcceptance se ignoruje.
- Pokud je licence přijata
Závislosti modulů
- Pokud během operace Instalace/Uložení/Aktualizace vyžaduje závislý modul (něco dalšího závisí na modulu) přijetí licence, je vyžadováno chování při přijetí licence (výše).
- Pokud je verze modulu již uvedena v lokálním katalogu jako instalovaná v systému, obešli bychom kontrolu licencí.
- Pokud během operace instalace/ukládání/aktualizace závislý modul vyžaduje licenci a nedojde k přijetí licence, operace se nezdaří a postupuje podle normálních procesů, protože se nepodařilo nainstalovat/uložit/aktualizovat balíček.
Dopad na -Force
Zadání –Force NENÍ dostatečné pro přijetí licence.
–AcceptLicense je vyžadováno pro povolení k instalaci. Pokud –Force je zadáno, RequiredLicenseAcceptance je True a –AcceptLicense NOT zadané, operace se nezdaří.
PŘÍKLADY
Příklad 1: Aktualizace manifestu modulu tak, aby vyžadoval přijetí licence
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
Tento příkaz aktualizuje soubor manifestu a nastaví příznak RequireLicenseAcceptance na hodnotu true.
Příklad 2: Instalační modul vyžadující přijetí licence
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"):
Tento příkaz zobrazí licenci ze license.txt souboru a vyzve uživatele k přijetí licence.
Příklad 3: Instalační modul vyžadující přijetí licence s -AcceptLicense
Install-Module -Name ModuleRequireLicenseAcceptance -AcceptLicense
Modul se instaluje bez výzvy k přijetí licence.
Příklad 4: Instalační modul vyžadující přijetí licence s -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
Příklad 5: Instalace modulu se závislostmi vyžadujícími přijetí licence
Modul ModuleWithDependency závisí na modulu ModuleRequireLicenseAcceptance. Uživatel je vyzván k přijetí licence.
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"):
Příklad 6: Instalace modulu se závislostmi vyžadujícími přijetí licence a -AcceptLicense
Modul ModuleWithDependency závisí na modulu ModuleRequireLicenseAcceptance. Uživatel není vyzván k přijetí licence, protože je zadána možnost AcceptLicense .
Install-Module -Name ModuleWithDependency -AcceptLicense
Příklad 7: Instalace modulu vyžadujícího přijetí licence na klientovi starším než 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'.
Příklad 8: Uložení modulu vyžadujícího přijetí licence
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"):
Tento příkaz zobrazí licenci ze license.txt souboru a vyzve uživatele k přijetí licence.
Příklad 9: Uložení modulu vyžadujícího přijetí licence s -AcceptLicense
Save-Module -Name ModuleRequireLicenseAcceptance -AcceptLicense -Path C:\Saved
Modul je uložen bez výzvy k přijetí licence.
Příklad 10: Aktualizace modulu vyžadujícího přijetí licence
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"):
Tento příkaz zobrazí licenci ze license.txt souboru a vyzve uživatele k přijetí licence.
Příklad 11: Aktualizační modul vyžadující přijetí licence s -AcceptLicense
Update-Module -Name ModuleRequireLicenseAcceptance -AcceptLicense
Modul je aktualizován bez výzvy k přijetí licence.
Další podrobnosti
Vyžadovat přijetí licence pro skripty
Vyžadování podpory přijetí licence v nástroji PowerShellGallery
PowerShell Gallery