Windows OS でごにょごにょする場合、WMI を使う事が良くあります。
PowerShell では Get-WmiObject や、その Alias である gwmi を使って簡単に WMI をハンドリングできていたので、僕も多くのスクリプトで Get-WmiObject を使っていました。
ところが、PowerShell Core 6.x では WMIv1 コマンドレットが使えなくなってしまったんですね
PowerShell Core 6.0 の重要な変更 - PowerShell | Microsoft Docs
https://docs.microsoft.com/ja-jp/powershell/scripting/whats-new/breaking-changes-ps6?WT.mc_id=WD-MVP-36880
色々調べてみると、Get-WmiObject の後継は、Get-CimInstance になっていました。
オプションを調べると -Class オプションが -ClassName になっているようです
WMIv1 | PowerShell Core 6.x 以降 |
Get-WmiObject -Class | Get-CimInstance -ClassName |
Windows PowerShell 5.1 でも Get-CimInstance
はサポートされているので、単純置き換えで済みそうです
(一部仕様が変わっているものもあるので、テストは必要ですけど)
スクリプトを grep して、適宜修正しますかね
Copyright © MURA All rights reserved.