Moduły wymagające akceptacji licencjiModules Requiring License Acceptance

SYNOPSISSYNOPSIS

Działy prawne dla Niektórzy wydawcy modułu wymagają, że klienci muszą jawnie akceptuje przed zainstalowaniem ich modułu z galerii programu PowerShell.Legal departments for some module publishers require that customers must explicitly accept the license before installing their module from PowerShell Gallery. Jeśli użytkownik instaluje, aktualizacji lub zapisuje moduł za pomocą modułu PowerShellGet, bezpośrednio lub jako zależność inny pakiet, a ten moduł wymaga od użytkownika zaakceptować licencję, użytkownik musi wskazywać akceptacji licencji lub kończy się niepowodzeniem.If a user installs, updates, or saves a module using PowerShellGet, whether directly or as a dependency for another package, and that module requires the user to agree to a license, the user must indicate they accept the license or the operation fails.

Publikowanie wymagania dotyczące modułówPublish Requirements for Modules

Moduły, które chcesz wymagać od użytkowników zaakceptować licencję powinny spełniać następujące wymagania:Modules that would like to require users to accept license should fulfill following requirements:

  • PSData części manifestu modułu powinna zawierać RequireLicenseAcceptance = $True.PSData section of module manifest should include RequireLicenseAcceptance = $True.
  • Moduł powinien zawierać pliku license.txt w katalogu głównym.Module should contain license.txt file in root directory.
  • Manifest modułu powinna zawierać identyfikator Uri licencji.Module manifest should contain License Uri.
  • Moduł powinny być publikowane z formatu PowerShellGet w wersji 2.0 lub nowszym.Module should be published with PowerShellGet Format Version 2.0 and above.

Wpływu na instalacji/Save/Update-ModuleImpact on Install/Save/Update-Module

  • Polecenia cmdlet instalacji/Save/aktualizacji będzie obsługiwać nowy parametr — AcceptLicense, które będą zachowywać się, jak gdyby użytkownik był wyświetlany licencji.Install/Save/Update cmdlets will support a new parameter –AcceptLicense that will behave as though the user saw the license.
  • Jeśli nie określono AcceptLicense — RequiredLicenseAcceptance ma wartość True, użytkownik będzie wyświetlany w pliku license.txt i zostanie wyświetlony monit o: "czy akceptujesz postanowienia licencyjne (tak/nie/YesToAll/NoToAll)".If RequiredLicenseAcceptance is True and –AcceptLicense is not specified, the user will be shown the license.txt, and prompted with: "Do you accept these license terms (Yes/No/YesToAll/NoToAll)".
    • Jeśli licencja zostanie zaakceptowanaIf the license is accepted
      • Save-Module: moduł zostanie skopiowany do użytkownika's systemSave-Module: the module will be copied to the user's system
      • Install-Module: moduł zostanie skopiowany do użytkownika'system s do odpowiedniego folderu (na podstawie zakresu)Install-Module: the module will be copied to the user's system to the proper folder (based on scope)
      • Update-Module: moduł zostanie zaktualizowany.Update-Module: the module will be updated.
    • Jeśli licencja została odrzucona.If the license is declined.
      • Operacja zostanie anulowana.Operation will be cancelled.
      • Wszystkie polecenia cmdlet będzie szukać metadanych (requireLicenseAcceptance i wersja formatu), stwierdzający, że wymagana jest akceptacja licencjiAll cmdlets will check for the metadata(requireLicenseAcceptance and Format Version) that says a license acceptance is required
      • Jeśli format wersja klienta jest starsza niż w wersji 2.0, operacja się nie powieść i poproś użytkownika, aby zaktualizować klienta.If format version of client is older than 2.0, operation will fail and ask the user to update the client.
      • Jeśli moduł został opublikowany za pomocą wersji formatu starsze niż w wersji 2.0, Flaga requireLicenseAcceptance zostanie zignorowana.If module was published with format version older than 2.0, requireLicenseAcceptance flag will be ignored.

Zależności modułówModule Dependencies

  • Podczas instalacji/Save/aktualizacji operacji, jeśli moduł zależne (coś innego zależy od modułu) wymaga zaakceptowania licencji, a następnie zachowanie akceptacja licencji (powyżej) będą wymagane.During Install/Save/Update operation, if a dependent module(something else depends on the module) requires license acceptance, then the license acceptance behavior (above) will be required.
  • Wersja modułu już znajduje się w katalogu lokalnym jako zainstalowane w systemie, czy możemy pominąć, sprawdzanie licencji.If the module version is already listed in the local catalog as being installed on the system, we would bypass the license checking.
  • Podczas operacji instalacji/Save/aktualizacji Jeśli moduł zależne muszą mieć licencję i akceptacja licencji nie występuje, operacja będzie się nie powieść i postępuj zgodnie z normalnym procesów pakietu instalacji/save/aktualizacji nie udało się.During Install/Save/Update operation, if a dependent module requires a license, and the license acceptance does not occur, the operation will fail and follow normal processes for the package failed to install/save/update.

Wpływ na - ForceImpact on -Force

Określanie –Force nie jest wystarczające, aby zaakceptować licencję.Specifying –Force is NOT sufficient to accept a license. –AcceptLicense dla uprawnienia do instalacji jest wymagana.–AcceptLicense is required for permission to install. Jeśli –Force określono RequiredLicenseAcceptance ma wartość PRAWDA, a –AcceptLicense nie zostanie określony, operacja zakończy się niepowodzeniem.If –Force is specified, RequiredLicenseAcceptance is True, and –AcceptLicense is NOT specified, the operation will fail.

PRZYKŁADYEXAMPLES

Przykład 1: Manifestu modułu aktualizacji za wymaganie akceptacji licencjiExample 1: Update Module Manifest to require license acceptance

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.This command updates the manifest file and sets the RequireLicenseAcceptance flag to true.

Przykład 2: Instalacja modułu wymaganie akceptacji licencjiExample 2: Install Module requiring license acceptance

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 przedstawia licencji z pliku license.txt i wyświetla monit o zaakceptowanie licencji.This command shows the license from license.txt file and prompts the user to accept the license.

Przykład 3: Instalacja modułu wymaganie akceptacji licencji przy użyciu - AcceptLicenseExample 3: Install Module requiring license acceptance with -AcceptLicense

Install-Module -Name ModuleRequireLicenseAcceptance -AcceptLicense

Moduł jest zainstalowany bez dowolnego wiersza, aby zaakceptować licencję.Module is installed without any prompt to accept license.

Przykład 4: Instalacja modułu wymaganie akceptacji licencji parametru - ForceExample 4: Install Module requiring license acceptance with -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ące akceptacji licencjiExample 5: Install Module with dependencies requiring license acceptance

Moduł "ModuleWithDependency" zależy od modułu "ModuleRequireLicenseAcceptance".Module 'ModuleWithDependency' depends on module 'ModuleRequireLicenseAcceptance'. Użytkownik jest monitowany, aby zaakceptować licencję.User is prompted to Accept License.

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 wymaganie akceptacji licencji i - AcceptLicenseExample 6: Install Module with dependencies requiring license acceptance and -AcceptLicense

Moduł "ModuleWithDependency" zależy od modułu "ModuleRequireLicenseAcceptance".Module 'ModuleWithDependency' depends on module 'ModuleRequireLicenseAcceptance'. Użytkownik nie jest monitowany o zaakceptowanie licencji, jak określono AcceptLicense —.User is not prompted to accept license as -AcceptLicense is specified.

Install-Module -Name ModuleWithDependency -AcceptLicense

Przykład 7: Zainstaluj moduł wymagające akceptacji licencji na komputerze klienckim, które są starsze niż PSGetFormatVersion w wersji 2.0Example 7: Install module requiring license acceptance on a client older than 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: Zapisywanie modułu wymagające akceptacji licencjiExample 8: Save Module requiring license acceptance

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 przedstawia licencji z pliku license.txt i wyświetla monit o zaakceptowanie licencji.This command shows the license from license.txt file and prompts the user to accept the license.

Przykład 9: Zapisz wymagające akceptacji licencji z AcceptLicense — modułExample 9: Save Module requiring license acceptance with -AcceptLicense

Save-Module -Name ModuleRequireLicenseAcceptance -AcceptLicense -Path C:\Saved

Moduł są zapisywane bez dowolnego wiersza, aby zaakceptować licencję.Module is saved without any prompt to accept license.

Przykład 10: Aktualizacja modułu wymaganie akceptacji licencjiExample 10: Update Module requiring license acceptance

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 przedstawia licencji z pliku license.txt i wyświetla monit o zaakceptowanie licencji.This command shows the license from license.txt file and prompts the user to accept the license.

Przykład 11: Aktualizacja modułu wymaganie akceptacji licencji przy użyciu - AcceptLicenseExample 11: Update Module requiring license acceptance with -AcceptLicense

Update-Module -Name ModuleRequireLicenseAcceptance -AcceptLicense

Moduł jest aktualizowany bez dowolnego wiersza, aby zaakceptować licencję.Module is updated without any prompt to accept license.

Więcej szczegółówMore details

Wymaganie akceptacji licencji na potrzeby skryptówRequire License Acceptance for Scripts

Wymagana jest Obsługa akceptacji licencji na galerii PowerShellGalleryRequire License Acceptance support on PowerShellGallery

Wymaganie akceptacji licencji na potrzeby wdrażania w usłudze Azure AutomationRequire License Acceptance on Deploy to Azure Automation