Я очень новичок в Powershell и не знаю, как собрать это вместе. Я ищу, чтобы получить список имен компьютеров, OU, в которых они находятся, и указать версию для конкретной программы.Получить ADComputers и установить установленное программное обеспечение
Я смог использовать команду Get-WMIObject для локального компьютера и фильтровать результаты для конкретной программы, которую я ищу.
Get-WMIObject -Class Win32_Product | Select-Object -Property name,version | Where-Object {$_.name -eq "Citrix Receiver Inside"
Далее, я побежал это на нашем AD-сервере для имени компьютера и OU:
Get-ADComputer -Filter 'ObjectClass -eq "Computer"' | Select Expand Name, DistinguishedName
Я пытаюсь трубы первого сценария Get-WmiObject ко второму 1, но я» m есть проблема ...
Таким образом, мой конечный результат должен состоять из 4 столбцов: имя компьютера, DistinguishedName (OU), название программы (все должны быть только Citrix Receiver Inside) и версия.
Я планировал использовать подстроку, такую как команда в excel, чтобы получить имя OU в конце, но если есть способ получить имя OU на своем собственном в PS Script, это еще лучше.
Я разместил это на субредате PS, и они упомянули SCCM/SCOM; Я никогда не использовал его, если кто-то может предложить метод с теми, которые тоже будут крутыми.
Это сценарий, который был размещен на моей теме, но я до сих пор не получать результаты с этим:
$computerList = Get-ADComputer -Filter 'ObjectClass -eq "Computer"' | Select-Object -Property DistinguishedName, Name
foreach ($computer in $computerList) {
Get-WMIObject -Class Win32_Product -computername $computer.name | Select-Object -Property name, version | where {$computer.name -eq "Citrix Receiver Inside"}
}
Я не был в состоянии получить этот скрипт работает во времени, поэтому я взял долгий и утомительный подход вместо этого. Проблема решена, но любопытство все еще растет! Если кто-то может помочь мне исправить мой сценарий выше или альтернативный метод для получения желаемых результатов (имя компьютера, OU, имя программного обеспечения, версия №1), это было бы действительно потрясающе! Документация, которую я читал онлайн для powershell, действительно не объединяет ничего вместе ... Я могу нарисовать кучу строк, но как сделать это в картине? Знаете, что я имею в виду? – samalkobi
Привет, Самал, я разместил ответ ниже. Пожалуйста, дайте мне знать, если у вас есть какие-либо вопросы, а также попробуйте это в своем домене. Я думаю, что это решит вашу проблему :) – FoxDeploy