次のようなファイルがあります
C:\path\AP1\com1\web.config
C:\path\AP2\com1\web.config
C:\path\AP1\com2\web.config
C:\path\AP2\com2\web.config
C:\path\AP1\com4new\web.config
C:\path\AP2\com4new\web.config
C:\path\AP1\thirdFolder\web.config
C:\path\AP2\thirdFolder\web.config
このファイルは、環境に関係なくすべてのサーバーで出力されます。各サーバーに関連する行のみを含める検証スクリプトを作成しています。
サーバーデータがどのように見えるかの例はこれです
<server compName="serverName102">
<ip>192.168.1.1</ip>
<type>App</type>
<env>test</env>
<instances>Com2, Com3</instances>
<AppPools>bo, fo</AppPools>
</server>
サーバーのAppPools
設定に が含まれている場合、fo
を含むすべての行を含める必要がありますAP1
。AppPools
が含まれている場合はbo
が必要AP2
であり、明らかに両方が含まれている場合は両方の行が必要です。
サーバーinstances
に含まれる場合、 ORCom2
を含むすべての行を含める必要があります。線になります。com2
com4new
Com3
thirdFolder
現在、次のようなifステートメントがいくつかあります
if ($serverInst -like "*com2*"){
$refinedResults += $allResults | where-object {$_ -like "*com2*" -or $_ -like "*com4new*"}
}
問題は、私がこれを行っている方法が最善の方法ではない、またはこれをどのように行うべきかについて、私がほぼ肯定的であるということです。この検証を実行する最良の方法について、誰かが洞察を提供できますか?