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 返回的对象基本上是一个字符串数组,每一行输出一个字符串。

在示例函数中,为了检索输出的第 4 行,原作者使用以下语法:

$result.SyncRoot[3];

我发现这也很好用:

$result[3];

在这种情况下 SyncRoot 的目的是什么?

4

1 回答 1

1

这个例子没有任何目的。 SyncRoot属性是一种以安全方式处理由多个线程处理的数组的方法(通常在.net中使用锁定)。看这里这里

于 2012-04-20T17:05:55.810 回答