Я новичок в Powershell и использую PS v2. Я могу видеть огромный потенциал, который у него есть, но я просто не могу заставить следующий код работать полностью. Я пытаюсь получить файл csv, который содержит необходимые dll-символы в подкаталоге GAC_MSIL или подкаталоге, получить версию dll, внутреннее имя файла и путь, а также IP-адрес сервера.
Код приведен ниже, и он представлен в виде однострочного формата, поскольку его проще выполнить удаленным удалением на один из серверов в ферме серверов и запустить одну строку из этой консоли, например, для входа в систему безопасности и т.д. Код создал набор результатов, но только для последнего сервера, он, вероятно, делает первый сервер, а затем перезаписывает его, но я не уверен в этом.
Я много читал об использовании массивов и пользовательских объектов и попытался это сделать, но мои навыки написания сценариев в PS еще не дошли до этого.
$out = "Ouput_dll_ver_results.csv";
foreach ($server in '11.222.33.123', '11.222.33.124')
{
$VersionInfo =
(
Get-ChildItem \\$server\C$\windows\assembly\GAC_MSIL -recurse -Include abc*.dll,def*.dll,ghi*.dll,jkl*.dll
| Where-Object{$_.FullName -notmatch "\\windows\\assembly\\temp\\"}
)
};
$VersionInfo | %{Get-Command $_.FullName} | select -expand File* |Export-Csv $out
Не могли бы вы порекомендовать, если / как можно исправить вышеуказанный код, и если нет, какие альтернативы у меня есть, чтобы получить нужную мне информацию?