Я бегу тест на серверах с помощью следующей строки:фильтр вывода (где-объект) от переменной
Get-WmiObject Win32_Service -ComputerName "myserver" -Filter "State='Running'" |
where-object ??? }| Foreach-Object {
New-Object -TypeName PSObject -Property @{
DisplayName=$_.DisplayName
State=$_.State
} | Select-Object DisplayName,State
# Export all info to CSV
} | ft -AutoSize
Я хотел бы создать переменную так:
$IgnoreServices = '"Wireless Configuration","Telephony","Secondary Logon"
и отправить это в Where-Object. Я могу сделать это?
Суне :)
EDIT: После некоторого R/T (исследования и пытается :)) Я узнал, что я могу это сделать:
$IgnoreServices = {$_.DisplayName -ne "Wireless Configuration"
-and $_.DisplayName -ne "Telephony" -and $_.DisplayName -ne "Secondary Logon"
-and $_.DisplayName -ne "Windows Event Collector"}
Get-WmiObject Win32_Service -ComputerName "myserver" -Filter "State='Running'"| where-object $IgnoreServices | Foreach-Object {
# Set new objects for info gathered with WMI
New-Object -TypeName PSObject -Property @{
DisplayName=$_.DisplayName
State=$_.State
} | Select-Object DisplayName,State
# Export all info to CSV
} | ft -AutoSize
Но .. Я бы очень хотел, если можно указать услуги, которые должны быть исключены следующим образом: «service1», «service2», «service3»
Как всегда, вся помощь очень ценится!
Просто ключ k tip: вам не нужен «select». Результат select-object также является psobject, и поскольку вы выбираете все свойства исходных объектов, это избыточная операция. – x0n