Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
SINOPSE
Os departamentos jurídicos de alguns editores de módulos exigem que os clientes aceitem explicitamente a licença antes de instalar o módulo da Galeria do PowerShell. Se um usuário instalar, atualizar ou salvar um módulo usando o PowerShellGet, seja diretamente ou como uma dependência de outro pacote, e esse módulo exigir que o usuário concorde com uma licença, o usuário deverá indicar que aceita a licença ou a operação falhará.
Requisitos de publicação para módulos
Os módulos que desejam exigir que os usuários aceitem a licença devem atender aos seguintes requisitos:
- A seção PSData do manifesto do módulo deve incluir RequireLicenseAcceptance = $True.
- O módulo deve conter license.txt arquivo no diretório raiz.
- O manifesto do módulo deve conter o URI da licença.
- O módulo deve ser publicado com o formato PowerShellGet versão 2.0 e superior.
Impacto na instalação/salvamento/Update-Module
- Os cmdlets Install/Save/Update dão suporte a um novo parâmetro AcceptLicense que se comporta como se o usuário tivesse visto a licença.
- Se RequiredLicenseAcceptance for True e AcceptLicense não for especificado, o usuário verá o
license.txt, e será solicitado com:Do you accept these license terms (Yes/No/YesToAll/NoToAll).- Se a licença for aceita
- Save-Module: o módulo é copiado para o sistema do usuário
- Install-Module: o módulo é copiado para o sistema do usuário para a pasta apropriada (com base no escopo)
- Update-Module: o módulo é atualizado.
- Se a licença for recusada.
- A operação é cancelada.
- Todos os cmdlets verificam os metadados (requireLicenseAcceptance e Format Version) que dizem que uma aceitação de licença é necessária
- Se a versão de formato do cliente for anterior a 2.0, a operação falhará e solicitará que o usuário atualize o cliente.
- Se o módulo foi publicado com a versão de formato anterior à 2.0, o sinalizador requireLicenseAcceptance será ignorado.
- Se a licença for aceita
Dependências do módulo
- Durante a operação Instalar/Salvar/Atualizar, se um módulo dependente (algo mais depende do módulo) exigir a aceitação da licença, o comportamento de aceitação da licença (acima) será necessário.
- Se a versão do módulo já estiver listada no catálogo local como sendo instalada no sistema, ignoraremos a verificação de licença.
- Durante a operação Instalar/Salvar/Atualizar, se um módulo dependente exigir uma licença e a aceitação da licença não ocorrer, a operação falhará e seguirá os processos normais para o pacote que falhou ao instalar/salvar/atualizar.
Impacto na -Force
Especificar –Force NÃO é suficiente para aceitar uma licença.
–AcceptLicense é necessário para obter permissão para instalar. Se –Force for especificado, RequiredLicenseAcceptance for True e –AcceptLicense NÃO for especificado, a operação falhará.
EXEMPLOS
Exemplo 1: Atualizar o manifesto do módulo para exigir a aceitação da licença
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
Esse comando atualiza o arquivo de manifesto e define o sinalizador RequireLicenseAcceptance como true.
Exemplo 2: Módulo de instalação que requer aceitação de licença
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"):
Este comando mostra a licença do license.txt arquivo e solicita que o usuário aceite a licença.
Exemplo 3: Módulo de instalação que requer aceitação de licença com -AcceptLicense
Install-Module -Name ModuleRequireLicenseAcceptance -AcceptLicense
O módulo é instalado sem qualquer solicitação para aceitar a licença.
Exemplo 4: Módulo de instalação que requer aceitação de licença com -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
Exemplo 5: Instalar o módulo com dependências que exigem aceitação de licença
O módulo ModuleWithDependency depende do módulo ModuleRequireLicenseAcceptance. O usuário é solicitado a aceitar a licença.
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"):
Exemplo 6: Instalar o módulo com dependências que exigem aceitação de licença e -AcceptLicense
O módulo ModuleWithDependency depende do módulo ModuleRequireLicenseAcceptance. O usuário não é solicitado a aceitar a licença, pois AcceptLicense é especificado.
Install-Module -Name ModuleWithDependency -AcceptLicense
Exemplo 7: Instalar o módulo que requer aceitação de licença em um cliente anterior 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'.
Exemplo 8: Salvar módulo que requer aceitação de licença
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"):
Este comando mostra a licença do license.txt arquivo e solicita que o usuário aceite a licença.
Exemplo 9: Salvar módulo que requer aceitação de licença com -AcceptLicense
Save-Module -Name ModuleRequireLicenseAcceptance -AcceptLicense -Path C:\Saved
O módulo é salvo sem qualquer solicitação para aceitar a licença.
Exemplo 10: Atualizar módulo que requer aceitação de licença
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"):
Este comando mostra a licença do license.txt arquivo e solicita que o usuário aceite a licença.
Exemplo 11: Módulo de atualização que requer aceitação de licença com -AcceptLicense
Update-Module -Name ModuleRequireLicenseAcceptance -AcceptLicense
O módulo é atualizado sem qualquer solicitação para aceitar a licença.
Mais detalhes
Exigir aceitação de licença para scripts
Exigir suporte à Aceitação de Licença no PowerShellGallery
Exigir aceitação de licença ao implantar na Automação do Azure
PowerShell Gallery