如何更改PowerShell Cmdlet的默认确认选项?

如何更改PowerShell Cmdlet的默认确认选项?,powershell,cmdlets,Powershell,Cmdlets,有没有办法更改高影响PowerShell脚本的默认确认选项 当我实现Cmdlet并运行它要求确认时,如 MyPS Confirm Are you sure you want to perform this action? Performing operation "XYZ" on Target "123". [Y] Yes [A] Yes to All [N] No [L] No to all [S] Suspend [?] Help (default is "Y"): 如何更改默认

有没有办法更改高影响PowerShell脚本的默认确认选项

当我实现Cmdlet并运行它要求确认时,如

MyPS

Confirm
Are you sure you want to perform this action?    
Performing operation "XYZ" on Target "123".
[Y] Yes [A] Yes to All [N] No [L] No to all [S] Suspend [?] Help (default is "Y"):

如何更改默认值?我想将默认值从“Y”更改为“N”。

不太清楚您想问什么。您想知道如何设置全局默认值(对于给定的PowerShell会话)以抑制默认情况下提示确认的cmdlet的确认提示,这样您就不必每次运行cmdlet时都一直指定
-Confirm:$false
?设置默认变量:

$ConfirmPreference = $false

或者您正在询问如何更改特定cmdlet的确认影响?在脚本开头声明
[CmdletBinding(confirimpact='high')]
。请注意,如果声明CmdletBinding,则需要一个
param()
块,即使它是空的。

我需要确认,但是类似于[Y]是[a]对所有人都是[N]否[L]对所有人都是[s]挂起[?]帮助(默认值为“N”):[CmdletBinding(ConfirmImpact='high')]只需进行请求确认,但是,不允许您更改确认中的默认选项。默认选项是Yes((默认值为“Y”)),需要将其更改为No(默认值为“N”)啊……这是非常不同的。好问题……我不知道有什么办法可以改变这一点,但我不能说我曾经研究过。通常,如果我不想使用默认行为,我会在开始时添加
if($PSBoundParameters.Confirm){$ConfirmPreference='SilentlyContinue'}
,然后实现我自己的确认提示。但如果你想做这样的小改变,也许有一种内在的方式。即使
$confirmpreference
'none'
(四个枚举数中的一个),仍然要求确认
设置winuserlanguagelist