複数の基準を使用してデータをフィルタリングするための最良の方法(以下を参照)が少し失われています。複数の正規表現の一致
例として、MyServer2
とSat 18:00
は、2つのテキストファイルに出力できるMyServer2
と04-23-16 1800
となります。
"Server","MaintenanceWindow","Ping","LastReboot"
"MyServer1","NoDeadline","Alive","4/8/2016 2:44:32 PM"
"MyServer2","NA - DYNALG - SRV - Patching - Prod - Sat 18:00","Alive","4/16/2016 10:00:47 AM"
"YourServer","NA - All DA Servers - Patching - Prod - Fri 22:00","Alive","Access Denied!"
私の現在のアプローチは以下の通りです
、2つのWhere-Object
行が、それは面倒と読みのは容易ではないなってきています。
また、静的な"$((get-date).AddDays(7).ToString('MM-dd-yy')) 17:58"
を日付/時刻計算を行い、日付/時刻文字列を出力する動的なものに更新する方法もわかりません。私は[datetime]"04/23/2016 18:00" - (get-date)
を使用することができましたが、私はその形式にデータをどのように取得できるか分かりません。
Where-Object {$_ -like '*sat?18:00*' -and $_.MaintenanceWindow -notmatch 'all.da.servers' -and $_.Server -match "^My"} | % {"{0}" -f $_.Server}
Where-Object {$_ -like '*sat?18:00*' -and $_.MaintenanceWindow -notmatch 'all.da.servers' -and $_.Server -match "^My"} | % {"{0}" -f $_.MaintenanceWindow -replace "^NA.+", "$((get-date).AddDays(7).ToString('MM-dd-yy')) 17:58"}
おそらくデータをフィルタリングするための最良の方法です。スクリプトブロックを複数の行に分割したり、フィルタ関数に入れることで、可読性を向上させることができます。 –
落札者様に異議申し立てを掲載し、改善のための提案をお願いいたしますか?このサイトで質問を投稿している人は誰もが、スクリプト/プログラミングに慣れているわけではありません。 – user4317867