проблема получения контента - PullRequest
1 голос
/ 31 августа 2011

Основной вопрос PowerShell здесь - у меня есть два компьютера в файле c: \ temp \ servers.txt и я хочу запросить информацию о версии файла tcpip.sys.Я продолжаю получать сообщение об ошибке, но оно, похоже, также работает ....

PS C: \ Windows \ System32 \ drivers> Get-Content C: \ temp \ servers.txt |ForEach-Object (Get-ChildItem c: \ windows \ system32 \ drivers \ tcpip.sys) .Versioninfo

Я получаю следующую ошибку:

ForEach-Object:> Невозможно связать параметр «Процесс».Не удается преобразовать файл:
C: \ windows \ system32 \ drivers \ tcpip.sys. Внутреннее имя: tcpip.sys. Исходное имя файла: tcpip.sys.mui FileVersion: 6.1.7600.16385 (win7_rtm.090713-1255) Описание файла: TCP / IPПродукт драйвера:
Microsoftr Windowsr Product System Версия: 6.1.7600.16385 Отладка: Ложно Исправлено: Ложь Предварительная версия:
Ложь PrivateBuild: Ложь SpecialBuild: Ложь Язык:
Английский (США) "значение типа" Система.Diagnostics.FileVersionInfo ", чтобы ввести" System.Management.Automation.ScriptBlock ".В строке: 1 символ: 49 + Get-Content C: \ temp \ servers.txt |ForEach-Object <<<< (Get-ChildItem c: \ windows \ system32 \ drivers \ tcpip.sys) .Versioninfo + CategoryInfo: InvalidArgument: (:) [ForEach-Object], ParameterBindingException + FullyQualifiedErrorId: CannotConvertArgumentNoMessage, Microsoft.PowerShell.Commands.ForEachObjectCommand </p>

1 Ответ

4 голосов
/ 31 августа 2011

Вам необходимо создать UNC-путь к каждому серверу:

Get-Content C:\temp\servers.txt | ForEach-Object {
    (Get-ChildItem \\$_\c$\windows\system32\drivers\tcpip.sys).Versioninfo 
}

Вам также нужно использовать скобки, а не круглые скобки, поэтому вы ошиблись.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...