Powershell 2.0 - вызовите wmimethod и получите имя компьютера в gridview - PullRequest
0 голосов
/ 08 ноября 2018

У меня есть сценарий powershell / gui, который я хочу использовать для трансляции сообщения на все компьютеры ActiveDirectory. Сообщение транслируется на все рабочие станции, но я хочу получить имя компьютера (в качестве вывода) до запуска invoke-wmimthodдля каждого компьютера через сетку, если это возможно.

function BroadcastMulti{
Import-Module active*

try{
    $msg = read-host "Enter your message "
    $List = Get-ADComputer -Filter {Name -like "PC*"}  | Select -ExpandName 
    Invoke-WmiMethod -Path Win32_Process -Name Create -ArgumentList "msg /time:3600 * $msg" -ComputerName $List
}catch{
     [System.Windows.Forms.MessageBox]::Show("Input was not entered correctly")
}
}
} 

1 Ответ

0 голосов
/ 17 июля 2019
function BroadcastMulti{
    Import-Module active* 
    try{
        $msg = read-host "Enter your message "
        $List = Get-ADComputer -Filter {Name -like "Computer*"}  | Select-Object -ExpandProperty Name 

        foreach($_ in $list){
        Write-Host $_
        $_ | Out-File C:\SupportTools\BroadcastReport.txt -Append
        Invoke-WmiMethod -Path Win32_Process -Name Create -ArgumentList "msg /time:43200 * $msg" -ComputerName $_
        }
        #[System.Windows.Forms.MessageBox]::Show("Message sent to all workstations")
    }catch{
         [System.Windows.Forms.MessageBox]::Show("There was an error, please try again")
          }
    }
...