33 lines
1.2 KiB
PowerShell
33 lines
1.2 KiB
PowerShell
$PSversionMajor = $PSVersionTable.PSVersion | sort-object major | ForEach-Object {$_.major}
|
|
$PSversionMinor = $PSVersionTable.PSVersion | sort-object minor | ForEach-Object {$_.minor}
|
|
|
|
if ($PSversionMajor -lt 7 -or $PSversionMinor -lt 2) {
|
|
Write-Error "Powershell version must be greater than or equal to 7.2. Press Enter to exit."
|
|
Pause
|
|
exit
|
|
}
|
|
|
|
$WorkDir = "$(Split-Path -Parent $PSScriptRoot)\run";
|
|
$CommandName = "$($args[0])";
|
|
|
|
#Write-Output "Starting $($CommandName) services at time: $(Get-Date -Format HH:mm:ss)"
|
|
#Write-Output ""
|
|
|
|
Get-ChildItem -Path $WorkDir | ForEach-Object -ThrottleLimit 20 -Parallel {
|
|
$ServiceName = "Onlyoffice$([System.IO.Path]::GetFileNameWithoutExtension($_))";
|
|
|
|
switch ( $Using:CommandName )
|
|
{
|
|
"start" { Start-Service -InputObject $(Get-Service -Name "$ServiceName") }
|
|
"stop" { Stop-Service -InputObject $(Get-Service -Name "$ServiceName") }
|
|
"restart" { Restart-Service -InputObject $(Get-Service -Name "$ServiceName") }
|
|
}
|
|
|
|
if( $? )
|
|
{
|
|
Write-Output "$ServiceName $($Using:CommandName) service has been done"
|
|
}
|
|
}
|
|
|
|
#Write-Output ""
|
|
#Write-Output "End $($CommandName) services at time: $(Get-Date -Format HH:mm:ss)" |