-1

これが私が達成しようとしていることです...

レプリケーション時間を確認するには、VMWARE で ADAM データベースを表示する必要があります。私の質問は、compare-object コマンドを使用して 3 つ以上の文字列を比較する方法です。2 つ以上の値に関する記事が見つかりません。

これが私が書き始めたものです。私はこれをできるだけ動的にしようとしています...

#PORT FOR LDAP
$ldap = 389;

#PATH
$path = 'DC=vdi,DC=vmware,DC=int';

#SERVERS
$vm = @("fqdn" , "fqdn" , "fqdn");

#ARRAY FOR LOOP
$comp = @();

#LOOP FOR ARRAY COMPARE
for($i = 1; $i -le $vm.count; $i++)
{
    $comp += repadmin.exe /showrepl $svr":"$ldap $path | Select-String "Last attempt";
}

#CREATE DYNAMIC VARIABLES
for($i = 0; $i -le ($comp.count - 1); $i++)
{
    New-Variable -name repl$i -Value $comp[$i];
}

よろしくお願いします!!!

4

1 に答える 1

0

コメントで述べたように、あなたの質問はあいまいすぎて、あなたの状況に適切な回答を提供できないため、「3 つ以上の文字列を比較する」ことに焦点を当てます。これを行うには、 をお勧めしGroup-Objectます。元。

$data = @"
==== INBOUND NEIGHBORS ======================================

CN=Configuration,CN={B59C1E29-972F-455A-BDD5-1FA7C1B7D60D}
    ....
        Last attempt @ 2010-05-28 07:29:34 was successful.

CN=Schema,CN=Configuration,CN={B59C1E29-972F-455A-BDD5-1FA7C1B7D60D}
    ....
        Last attempt @ 2010-05-28 07:29:34 was successful.

OU=WSFG,DC=COM
    ....
        Last attempt @ 2010-05-28 07:29:35 failed, result -2146893008
(0x8009033
0):
"@ -split [environment]::NewLine

$comp = $data | Select-String "Last attempt"

$comp | Group-Object

Count Name                                                                  Group                
----- ----                                                                  -----                
    2         Last attempt @ 2010-05-28 07:29:34 was successful.            {        Last atte...
    1         Last attempt @ 2010-05-28 07:29:35 failed, result -2146893008 {        Last atte...

Group-ObjectPowerShell は非常に柔軟であるため、これをカスタマイズして ex. 残りのサーバーと等しくなかったサーバーのサーバー名とステータスを表示します (例: カウント = 1 または最大のグループのいずれにも含まれていない) など。あなたが達成しようとしていることの、私はおそらく私たちの両方の時間を無駄にするでしょう。

要約: 私が言えることは、おそらく (9​​9% 確実に) Group-Object「3 つ以上の文字列を比較する」ために使用することです。

于 2014-09-24T19:54:49.587 に答える