💥

PowerShell の警告を抑止する

2023/05/08に公開

Upcoming breaking changes in the cmdlet みたいな警告がいちいち出るのがちょっと邪魔。。

例えば Get-AzVM を実行すると以下のような warning が出ます。

> Get-AzVM -ResourceGroupName simple-windows10 -Name vm-hub500
WARNING: Upcoming breaking changes in the cmdlet 'Get-AzVM' :
In the June 2023 Powershell release, the NextLink parameter set will be removed. Powershell by default loops through the list of VMs returned, so the user no longer has to use this parameter set.
Note : Go to https://aka.ms/azps-changewarnings for steps to suppress this breaking change warning, and other information on breaking changes in Azure PowerShell.

ありがたいご注意なのですが、検証してるときには log がいちいち長くなってめんどうなので、そんな時には非表示にする option が用意されているみたいです。

まず、現状の確認は Get-AzConfig です。

> Get-AzConfig

Key                          Value Applies To Scope   Help Message
---                          ----- ---------- -----   ------------
DefaultSubscriptionForLogin        Az         Default Subscription name or GUID. Sets the default context for Azure ...
DisplayBreakingChangeWarning True  Az         Default Controls if warning messages for breaking changes are displaye...
DisplayRegionIdentified      True  Az         Default When enabled, Azure PowerShell displays recommendations on reg...
DisplaySurveyMessage         True  Az         Default When enabled, you are prompted infrequently to participate in ...
EnableDataCollection         True  Az         Default When enabled, Azure PowerShell cmdlets send telemetry data to ...
EnableLoginByWam             False Az         Default [Preview] When enabled, Web Account Manager (WAM) will be the ...

で、このうち、DisplayBreakingChangeWarning$false にするとこのような警告が出なくなります。

> Update-AzConfig -DisplayBreakingChangeWarning $false

Key                          Value Applies To Scope       Help Message
---                          ----- ---------- -----       ------------
DisplayBreakingChangeWarning False Az         CurrentUser Controls if warning messages for breaking changes are disp...

で、そうすると warning が出なくなります。

> Get-AzVM -ResourceGroupName simple-windows10 -Name vm-hub500


ResourceGroupName  : simple-windows10
<snip>

ちなみに変更後に再度 Get-AzConfig で以下のように出力される通り、CurrentUser 単位で有効化され PSSession 単位ではないので注意してください。

> Get-AzConfig

Key                          Value Applies To Scope       Help Message
---                          ----- ---------- -----       ------------
DefaultSubscriptionForLogin        Az         Default     Subscription name or GUID. Sets the default context for Az...
DisplayBreakingChangeWarning False Az         CurrentUser Controls if warning messages for breaking changes are disp...
DisplayRegionIdentified      True  Az         Default     When enabled, Azure PowerShell displays recommendations on...
DisplaySurveyMessage         True  Az         Default     When enabled, you are prompted infrequently to participate...
EnableDataCollection         True  Az         Default     When enabled, Azure PowerShell cmdlets send telemetry data...
EnableLoginByWam             False Az         Default     [Preview] When enabled, Web Account Manager (WAM) will be ...

参考

  • PowerShell の GitHub page
    ほかにもいろいろあるみたいで、ここに書かれていました

https://github.com/Azure/azure-powershell/blob/main/documentation/breaking-changes/breaking-changes-attribute-help.md#suppress-the-breaking-change-messages-at-runtime

  • Get-AzConfig の docs

https://learn.microsoft.com/powershell/module/az.accounts/get-azconfig

Microsoft (有志)

Discussion