Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. 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 para 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á.
Publicar requisitos para módulos
Os módulos que gostariam de exigir que os usuários aceitassem 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 Uri de licença.
- O módulo deve ser publicado com o PowerShellGet Format Versão 2.0 e superior.
Impacto na instalação/salvamento/Update-Module
- Os cmdlets Install/Save/Update suportam um novo parâmetro AcceptLicense que se comporta como se o usuário visse 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 aceite
- 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 adequada (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 mais antiga que 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 a 2.0, o sinalizador requireLicenseAcceptance será ignorado.
- Se a licença for aceite
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 falhou ao instalar/salvar/atualizar.
Impacto na -Force
Especificar –Force NÃO é suficiente para aceitar uma licença.
–AcceptLicense é necessária para a permissão de instalação. Se –Force for especificado, RequiredLicenseAcceptance é True e –AcceptLicense NÃO é 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
Este comando atualiza o arquivo de manifesto e define o sinalizador RequireLicenseAcceptance como true.
Exemplo 2: Instalar módulo 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: Instalar módulo 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: Instalar módulo 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 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 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 como AcceptLicense é especificado.
Install-Module -Name ModuleWithDependency -AcceptLicense
Exemplo 7: Instalar módulo que requer aceitação de licença em um cliente mais antigo que 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: Módulo de atualização 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 para aceitação de licença no PowerShellGallery
Exigir aceitação de licença ao implantar na Automação do Azure
PowerShell Gallery