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.
Nível de gravidade: aviso
Description
Essa regra detecta incompatibilidades entre SupportsShouldProcess declarações e ShouldProcess chamadas.
Quando um cmdlet declara o SupportsShouldProcess atributo, ele também deve chamar o ShouldProcess método.
Violações ocorrem quando:
- Uma função declara
SupportsShouldProcess, mas não chamaShouldProcess - Uma função chama
ShouldProcess, mas não declaraSupportsShouldProcess
Para corrigir essa violação, certifique-se de que ShouldProcess as chamadas sejam pareadas com a SupportsShouldProcess declaração de atributo.
Para obter mais informações, consulte os seguintes artigos:
- about_Functions_Advanced_Methods
- about_Functions_CmdletBindingAttribute
- Tudo o que você queria saber sobre o ShouldProcess
Example
Não Conforme
function Set-File
{
[CmdletBinding(SupportsShouldProcess=$true)]
Param
(
# Path to file
[Parameter(Mandatory=$true)]
$Path
)
'String' | Out-File -FilePath $Path
}
Em conformidade
function Set-File
{
[CmdletBinding(SupportsShouldProcess=$true)]
Param
(
# Path to file
[Parameter(Mandatory=$true)]
$Path,
[Parameter(Mandatory=$true)]
[string]$Content
)
if ($PSCmdlet.ShouldProcess($Path, ("Setting content to '{0}'" -f $Content)))
{
$Content | Out-File -FilePath $Path
}
else
{
# Code that should be processed if doing a WhatIf operation
# Must NOT change anything outside of the function / script
}
}