是否可以配置 PowerShell 会话,以便在我运行特定命名的命令/功能时发出警告?
作为一个例子(我每次使用以 " Set - " 开头的命令时都希望收到警告) :
If I run a Get-foo command, it runs that command without warning.
If I run a Set-foo command, then it provides a warning about changes being made.
答案 0 :(得分:4)
您可以使用$PSDefaultParameterValues
变量来定义默认值,许多Set-
命令包含'Confirm'参数或'WhatIf'参数。你可以这样做:
$PSDefaultParameterValues = @{
"Set-*:Confirm"=$true
"Set-*:WhatIf"=$true
}
此格式为哈希表,其中键为“:”,值为您要设置的值。允许使用通配符来表示cmdlet名称,因此您可以轻松地将设置应用于所有Set-
cmdlet。
如果你想使用'WhatIf',你可以简单地使用-WhatIf:$false
运行命令,如果你想让命令实际做事而不是只是告诉你它会做什么。
Get-Item C:\Temp\*.docx | Copy-Item -Dest "$home\desktop" -WhatIf:$false
有关该主题的详情,请参阅this page。