2

この質問は、次のブログの関数 forward_dns に関するものです: http://powershellmasters.blogspot.com/2009/04/nslookup-and-powershell.html

たとえば、powershell に次のようなコードがあるとします。

$cmd = "nslookup google.com " + $NameserverIPAddress;
$result = Invoke-Expression ($cmd);

このスニペットは、nslookup DOS コマンドを使用して DNS ルックアップを行います。これは DOS コマンドであるため、Invoke-Expression によって返されるオブジェクトは基本的に、出力の各行に 1 つずつ、文字列の配列です。

関数の例では、出力の 4 行目を取得するために、元の作成者は次の構文を使用します。

$result.SyncRoot[3];

これもうまく機能することがわかりました:

$result[3];

このコンテキストでの SyncRoot の目的は何ですか?

4

1 に答える 1

1

この例には目的はありません。 SyncRootプロパティは、複数のスレッドによって処理される配列を安全な方法で(通常は.netでロックして)処理する方法です。ここここを参照してください

于 2012-04-20T17:05:55.810 に答える