Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
SINOSSI
Gli uffici legali di alcuni editori di moduli richiedono che i clienti accettino in modo esplicito la licenza prima di installare il modulo da PowerShell Gallery. Se un utente installa, aggiorna o salva un modulo usando PowerShellGet, direttamente o come dipendenza per un altro pacchetto, e tale modulo richiede all'utente di accettare una licenza, l'utente deve indicare di accettare la licenza o l'operazione ha esito negativo.
Requisiti di pubblicazione per i moduli
I moduli che desiderano richiedere agli utenti di accettare la licenza devono soddisfare i seguenti requisiti:
- La sezione PSData del manifesto del modulo deve includere RequireLicenseAcceptance = $True.
- Il modulo deve contenere license.txt file nella directory principale.
- Il manifesto del modulo deve contenere l'URI della licenza.
- Il modulo deve essere pubblicato con il formato PowerShellGet versione 2.0 e successive.
Impatto su installazione/salvataggio/Update-Module
- I cmdlet Install/Save/Update supportano un nuovo parametro AcceptLicense che si comporta come se l'utente avesse visto la licenza.
- Se RequiredLicenseAcceptance è True e AcceptLicense non è specificato, all'utente viene visualizzato il
license.txtfile , e viene visualizzato il seguente messaggio:Do you accept these license terms (Yes/No/YesToAll/NoToAll).- Se la licenza viene accettata
- Save-Module: il modulo viene copiato nel sistema dell'utente
- Install-Module: il modulo viene copiato nel sistema dell'utente nella cartella appropriata (in base all'ambito)
- Update-Module: il modulo viene aggiornato.
- Se la licenza viene rifiutata.
- L'operazione viene annullata.
- Tutti i cmdlet verificano la presenza di metadati (requireLicenseAcceptance e Format Version) che indicano che è necessaria un'accettazione della licenza
- Se la versione del formato del client è precedente alla 2.0, l'operazione ha esito negativo e chiede all'utente di aggiornare il client.
- Se il modulo è stato pubblicato con una versione del formato precedente alla 2.0, il flag requireLicenseAcceptance viene ignorato.
- Se la licenza viene accettata
Dipendenze dei moduli
- Durante l'operazione di installazione/salvataggio/aggiornamento, se un modulo dipendente (da cui dipende qualcos'altro dal modulo) richiede l'accettazione della licenza, è necessario il comportamento di accettazione della licenza (sopra).
- Se la versione del modulo è già elencata nel catalogo locale come installata sul sistema, ignoreremo il controllo della licenza.
- Durante l'operazione di installazione/salvataggio/aggiornamento, se un modulo dipendente richiede una licenza e l'accettazione della licenza non si verifica, l'operazione non riesce e segue i normali processi per il pacchetto non riuscito, l'installazione/il salvataggio/l'aggiornamento.
Impatto su -Force
Specificare –Force NON è sufficiente per accettare una licenza.
–AcceptLicense è necessario per l'autorizzazione all'installazione. Se –Force viene specificato, RequiredLicenseAcceptance è True e –AcceptLicense NON viene specificato, l'operazione ha esito negativo.
ESEMPI
Esempio 1: Aggiornare il manifesto del modulo per richiedere l'accettazione della licenza
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
Questo comando aggiorna il file manifesto e imposta il flag RequireLicenseAcceptance su true.
Esempio 2: Modulo di installazione che richiede l'accettazione della licenza
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"):
Questo comando mostra la licenza dal license.txt file e richiede all'utente di accettare la licenza.
Esempio 3: Modulo di installazione che richiede l'accettazione della licenza con -AcceptLicense
Install-Module -Name ModuleRequireLicenseAcceptance -AcceptLicense
Il modulo viene installato senza alcuna richiesta di accettazione della licenza.
Esempio 4: Modulo di installazione che richiede l'accettazione della licenza con -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
Esempio 5: Modulo di installazione con dipendenze che richiedono l'accettazione della licenza
Il modulo ModuleWithDependency dipende dal modulo ModuleRequireLicenseAcceptance. All'utente viene richiesto di accettare la licenza.
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"):
Esempio 6: Modulo di installazione con dipendenze che richiedono l'accettazione della licenza e -AcceptLicense
Il modulo ModuleWithDependency dipende dal modulo ModuleRequireLicenseAcceptance. All'utente non viene richiesto di accettare la licenza in quanto è specificato AcceptLicense .
Install-Module -Name ModuleWithDependency -AcceptLicense
Esempio 7: Modulo di installazione che richiede l'accettazione della licenza in un client precedente a 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'.
Esempio 8: Modulo di salvataggio che richiede l'accettazione della licenza
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"):
Questo comando mostra la licenza dal license.txt file e richiede all'utente di accettare la licenza.
Esempio 9: Modulo di salvataggio che richiede l'accettazione della licenza con -AcceptLicense
Save-Module -Name ModuleRequireLicenseAcceptance -AcceptLicense -Path C:\Saved
Il modulo viene salvato senza alcuna richiesta di accettazione della licenza.
Esempio 10: Modulo di aggiornamento che richiede l'accettazione della licenza
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"):
Questo comando mostra la licenza dal license.txt file e richiede all'utente di accettare la licenza.
Esempio 11: Modulo di aggiornamento che richiede l'accettazione della licenza con -AcceptLicense
Update-Module -Name ModuleRequireLicenseAcceptance -AcceptLicense
Il modulo viene aggiornato senza alcuna richiesta di accettazione della licenza.
Altri dettagli
Richiedi l'accettazione della licenza per gli script
Richiedi supporto per l'accettazione delle licenze in PowerShellGallery
Richiedere l'accettazione della licenza durante la distribuzione in Automazione di Azure