3xpt0
Power Member
Olá malta,
Preciso de uma ajuda em powershell. O Script abaixo funciona lindamente "faz o restart ao serviço McShield" no entanto, como o McShield tem dependências "o serviço fica em modo Stopping". Já experimentei inserir depois da evocação Get-Service o seguinte comando "Get-Process -****** | Stop-Process" mas falha a paragem do processo. O que é que eu estou a fazer mal?
Alguém pode ajudar-me?
Obrigado
P.S. Este automatismo é para 119 maquinas que estão com o processador a 100% devido ao Mcafee Anti-Virus e para não estar a entrar uma a uma, este automatismo iria ser a solução.
Obrigado
-------------------------
# Point the script to the text file with remote computers
$RemoteComputers = Get-Content "$PSScriptRoot\Computers.txt"
# sets service name
$Service = "McShield"
# Counter for progress bar
$counter = 0
ForEach ($Computer in $RemoteComputers) {
$counter++
Try
{
Write-Progress -Activity 'Processing computers' -CurrentOperation $Computer -PercentComplete (($counter / $RemoteComputers.count) * 100)
Start-Sleep -Milliseconds 200
Get-Service -Name $Service -ComputerName $Computer | Restart-Service -Force -ErrorAction Stop
Write-Output "$(Get-Date -format "yyyy-MM-dd hh:mm:ss"),$computer" | out-file -append -filepath "$PSScriptRoot\success.log"
}
Catch
{
Write-Output "$(Get-Date -format "yyyy-MM-dd hh:mm:ss"),$computer" | out-file -append -filepath "$PSScriptRoot\failed.log"
}
}
----------------
Preciso de uma ajuda em powershell. O Script abaixo funciona lindamente "faz o restart ao serviço McShield" no entanto, como o McShield tem dependências "o serviço fica em modo Stopping". Já experimentei inserir depois da evocação Get-Service o seguinte comando "Get-Process -****** | Stop-Process" mas falha a paragem do processo. O que é que eu estou a fazer mal?
Alguém pode ajudar-me?
Obrigado
P.S. Este automatismo é para 119 maquinas que estão com o processador a 100% devido ao Mcafee Anti-Virus e para não estar a entrar uma a uma, este automatismo iria ser a solução.
Obrigado
-------------------------
# Point the script to the text file with remote computers
$RemoteComputers = Get-Content "$PSScriptRoot\Computers.txt"
# sets service name
$Service = "McShield"
# Counter for progress bar
$counter = 0
ForEach ($Computer in $RemoteComputers) {
$counter++
Try
{
Write-Progress -Activity 'Processing computers' -CurrentOperation $Computer -PercentComplete (($counter / $RemoteComputers.count) * 100)
Start-Sleep -Milliseconds 200
Get-Service -Name $Service -ComputerName $Computer | Restart-Service -Force -ErrorAction Stop
Write-Output "$(Get-Date -format "yyyy-MM-dd hh:mm:ss"),$computer" | out-file -append -filepath "$PSScriptRoot\success.log"
}
Catch
{
Write-Output "$(Get-Date -format "yyyy-MM-dd hh:mm:ss"),$computer" | out-file -append -filepath "$PSScriptRoot\failed.log"
}
}
----------------