Licencfeltételek elfogadását igénylő modulok

SZINOPSZIS

Egyes modulkiadók jogi részlegei megkövetelik, hogy az ügyfeleknek explicit módon el kell fogadniuk a licencet, mielőtt telepítik a moduljukat a PowerShell-galéria. Ha egy felhasználó a PowerShellGet használatával telepít, frissít vagy ment egy modult, akár közvetlenül, akár egy másik csomag függőségeként, és a modul megköveteli, hogy a felhasználó elfogadja a licencet, a felhasználónak jeleznie kell, hogy elfogadja a licencet, vagy a művelet meghiúsul.

Modulok közzétételi követelményei

Azokat a modulokat, amelyek megkövetelik a felhasználóktól a licenc elfogadását, a következő követelményeknek kell megfelelniük:

  • A moduljegyzék PSData szakaszának tartalmaznia kell a RequireLicenseAcceptance = $True értéket.
  • A modulnak tartalmaznia kell license.txt fájlt a gyökérkönyvtárban.
  • A moduljegyzéknek licenc URI-t kell tartalmaznia.
  • A modult a PowerShellGet Format 2.0-s vagy újabb verziójával kell közzétenni.

A telepítésre/mentésre/frissítési modulra gyakorolt hatás

  • A telepítési/mentési/frissítési parancsmagok támogatnak egy új AcceptLicense paramétert, amely úgy viselkedik, mintha a felhasználó látta volna a licencet.
  • Ha a RequiredLicenseAcceptance értéke Igaz, és az AcceptLicense nincs megadva, a felhasználó a következővel jelenik meg license.txt: Do you accept these license terms (Yes/No/YesToAll/NoToAll).
    • Ha a licenc elfogadásra kerül
      • Save-Module: a modul a felhasználó rendszerére lesz másolva
      • Install-Module: a modult a rendszer a felhasználó rendszerébe másolja a megfelelő mappába (hatókör alapján)
      • Update-Module: a modul frissült.
    • Ha a licenc elutasításra kerül.
      • A művelet megszakítva.
      • Minden parancsmag ellenőrzi azokat a metaadatokat (requireLicenseAcceptance és Format Version), amelyek szerint a licenc elfogadására van szükség
      • Ha az ügyfél formátumverziója 2.0-nál régebbi, a művelet meghiúsul, és megkéri a felhasználót, hogy frissítse az ügyfelet.
      • Ha a modul 2.0-snál régebbi formátummal lett közzétéve, a requireLicenseAcceptance jelző figyelmen kívül lesz hagyva.

Modulfüggőségek

  • A Telepítés/mentés/frissítés művelet során, ha egy függő modul (ami a modultól függ) licencelfogadást igényel, akkor a (fenti) licencelfogadási viselkedésre van szükség.
  • Ha a modul verziója már szerepel a helyi katalógusban a rendszeren telepítettként, megkerüljük a licencellenőrzést.
  • A Telepítés/mentés/frissítés művelet során, ha egy függő modulhoz licenc szükséges, és a licenc elfogadása nem történik meg, a művelet meghiúsul, és a csomag telepítésének/mentésének/frissítésének sikertelen normál folyamatait követi.

Hatás a -Force-ra

A megadása –Force NEM elegendő a licenc elfogadásához. –AcceptLicense a telepítéshez szükséges. Ha –Force meg van adva, a RequiredLicenseAcceptance igaz, és –AcceptLicense NINCS megadva, a művelet meghiúsul.

PÉLDÁK

1. példa: A licenc elfogadásának megkövetelése érdekében frissítse a moduljegyzéket

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

Ez a parancs frissíti a jegyzékfájlt, és igaz értékre állítja a RequireLicenseAcceptance jelzőt.

2. példa: Licenc elfogadását igénylő modul telepítése

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"):

Ez a parancs megjeleníti a fájl licencét license.txt , és felkéri a felhasználót, hogy fogadja el a licencet.

3. példa: A -AcceptLicense licencelfogadást igénylő modul telepítése

Install-Module -Name ModuleRequireLicenseAcceptance -AcceptLicense

A modul a licenc elfogadására vonatkozó kérés nélkül települ.

4. példa: Licenc elfogadását igénylő modul telepítése a -Force használatával

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

5. példa: A modul telepítése licenc elfogadását igénylő függőségekkel

A ModuleWithDependency aModuleRequireLicenseAcceptance modultól függ. A rendszer felkéri a felhasználót, hogy fogadja el a licencet.

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"):

6. példa: A modul telepítése licencelfogadást és -AcceptLicense-t igénylő függőségekkel

A ModuleWithDependency aModuleRequireLicenseAcceptance modultól függ. A rendszer nem kéri a felhasználót, hogy fogadja el a licencet, mivel az AcceptLicense meg van adva.

Install-Module -Name ModuleWithDependency -AcceptLicense

7. példa: A PSGetFormatVersion 2.0-nál régebbi ügyfélen licencelfogadást igénylő modul telepítése

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'.

8. példa: Licenc elfogadását igénylő modul mentése

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"):

Ez a parancs megjeleníti a fájl licencét license.txt , és felkéri a felhasználót, hogy fogadja el a licencet.

9. példa: A -AcceptLicense licencelfogadást igénylő modul mentése

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

A modul a licenc elfogadására vonatkozó kérés nélkül lesz mentve.

10. példa: Licenc elfogadását igénylő modul frissítése

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"):

Ez a parancs megjeleníti a fájl licencét license.txt , és felkéri a felhasználót, hogy fogadja el a licencet.

11. példa: A -AcceptLicense licencelfogadást igénylő modul frissítése

Update-Module -Name ModuleRequireLicenseAcceptance -AcceptLicense

A modul a licenc elfogadására vonatkozó kérés nélkül frissül.

További részletek

Licencfeltételek elfogadásának megkövetelése a parancsfájlokhoz

Licencelfogadvány-támogatás megkövetelése a PowerShellGalleryben

Licencfeltételek elfogadásának kérése az Azure Automation szolgáltatásban való üzembe helyezéshez