そこで、私が見つけたスクリプトを使用して、4 台の UPS を監視し、約 15 台のサーバーにシャットダウン信号を送信しようとしています。私は PowerShell を初めて使用するので、複数の UPS ユニットにクエリを実行できるように支援したいと思っています。
スクリプトは次のとおりです: (長いので、ペーストビンの方が簡単だと思いました): http://pastebin.com/Uya5Nkwv
私は次のことを試しましたが、役に立ちませんでした。
PS C:\Users\myuser> get-wmiobject win32_battery | select "JS0745012650American P
ower ConversionSmart-UPS 2200 RM FW:665.6.D USB FW:7.3"
JS0745012650American Power ConversionSmart-UPS 2200 RM FW:665.6.D USB FW:7.3
----------------------------------------------------------------------------
PS C:\Users\myuser> get-wmiobject win32_battery | select EstimatedRunTime where
DeviceID like JS07*
Select-Object : A positional parameter cannot be found that accepts argument 'w
here'.
At line:1 char:37
+ get-wmiobject win32_battery | select <<<< EstimatedRunTime where DeviceID li
ke JS07*
+ CategoryInfo : InvalidArgument: (:) [Select-Object], ParameterB
indingException
+ FullyQualifiedErrorId : PositionalParameterNotFound,Microsoft.PowerShell
.Commands.SelectObjectCommand
PS C:\Users\myuser>
基本的に5つのUPがあり、私がそうするとき
get-wmiobject win32_battery
一意の識別子を表示できます。
DeviceID : JS0748005250American Power ConversionSmart-UPS 30
00 RM FW:666.6.D USB FW:7.3
では、上記のスクリプトですべての UPSを照会するにはどうすればよいでしょうか? その方法を理解したら、シャットダウン シグナル/csv ファイルを理解できると確信しています。