PowerShellのnoob質問はこちら私は、別々のリストにリストされているサーバーのグループを持っています。各サーバーには、特定のエラーをスキャンするエラーログがあります。ただし、各サーバーグループには、固有のエラーセットがあり、そのサーバーグループの特定の検索文字列を使用してスキャンします。私が基本的にやっていることは、サーバーリスト名に基づいて条件を作成し、そのサーバーグループの適切な検索文字列をマッピングすることです。私は非常に多くの条件を使用していないことにより、コードをより効率的にしたいと思いPowerShellでは、リストを検索文字列にマップする方法
$SERVER_LST_1 = "$pwd\servers\servers_1.lst"
$SERVER_LST_2 = "$pwd\servers\servers_2.lst"
$SERVER_LST_3 = "$pwd\servers\servers_3.lst"
$SEARCH_STR_1 = "Error text for server group 1"
$SEARCH_STR_2 = "Error text for server group 2"
$SEARCH_STR_3 = "Error text for server group 3"
$Servers1 = Get-Content $SERVER_LST_1
ForEach ($Server1 in $Servers1)
{
$StartupErrorLog1 = Get-ChildItem -Path \\$Server1\$LOG_PATH -Include StartupError.log -Recurse | Select-String -notmatch $SEARCH_STR_1
}
$Servers2 = Get-Content $SERVER_LST_2
ForEach ($Server2 in $Servers2)
{
$StartupErrorLog2 = Get-ChildItem -Path \\$Server2\$LOG_PATH -Include StartupError.log -Recurse | Select-String -notmatch $SEARCH_STR_2
}
$Servers3 = Get-Content $SERVER_LST_3
ForEach ($Server3 in $Servers3)
{
$StartupErrorLog3 = Get-ChildItem -Path \\$Server3\$LOG_PATH -Include StartupError.log -Recurse | Select-String -notmatch $SEARCH_STR_3
}
:このような
何か。より少ないコードを使用して検索文字列を適切なサーバーグループにマッピングする、よりクリーンなアプローチがありますか?希望は意味をなさない。
ありがとうManojlds。私はあなたのソリューションを試してみましょう。 – Keith
こんにちはManojlds - フォローアップするだけで、あなたのソリューションは素晴らしい作品です!再度、感謝します!! – Keith
@Keith - クール。答えとして受け入れることができます:) – manojlds