У меня есть следующий CSV-файл:
Server,Service,Startup Type,Task
server1,SQL Server Analysis Services (MSSQLSERVER),automatic,start
server2,"SQL Server Analysis Services (MSSQLSERVER), SQL Server Analysis Services (MSSQLSERVER) CEIP",Manual,stop
У меня есть следующий скрипт, но сейчас он использует встроенный Stop-Service
или Start-Service
.
Я хочу позволить гибко определять все параметры в файле csv, и служба запускается / останавливается на основе того, что имеет файл csv, а также устанавливает startup type
в другое значение startup type
, если оно изменилось / отличается от файла CSV и текущего состояния на сервере (ах).
$csvFile = Import-CSV .\SSAS_services.csv
ForEach ($Server in $csvFile)
{ Invoke-Command -ScriptBlock { Stop-Service $args[0] } -ComputerName $Server.Server -ArgumentList $Server.Service.Split(",")
}
Start-Sleep -Seconds 60
ForEach ($service in (($csvFile.Count - 1)..0))
{ Invoke-Command -ScriptBlock { Stop-Service $args[0] } -ComputerName $csvFile[$service].Server -ArgumentList $csvFile[$service].Service.Split(",")
}