-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtask1.psm1
More file actions
38 lines (35 loc) · 1.3 KB
/
task1.psm1
File metadata and controls
38 lines (35 loc) · 1.3 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
<#
Выдать красным цветом разницу между запущенными и остановленными сервисами.
Сформировать осмысленное предложение поясняющее полученное число.
#>
function Get-RunningAndStoppedServicesCount {
$Services = Get-Service
$RunningServicesNumber = (`
$Services `
| Where-Object { $_.Status -eq "Running" } `
| Measure-Object `
).Count
$StoppedServicesNumber = (`
$Services `
| Where-Object { $_.Status -eq "Stopped" } `
| Measure-Object `
).Count
$ServiceNumberDiff = $RunningServicesNumber - $StoppedServicesNumber
if ($ServiceNumberDiff -gt 0) {
$Message = "Running services number is more on $ServiceNumberDiff"
}
elseif ($ServiceNumberDiff -lt 0) {
$Message = "Stopped services number is more on $(-$ServiceNumberDiff)"
}
else {
$Message = "Running and stopped services numbers are equal"
}
Write-Host -ForegroundColor Red $Message
return @{
Running = $RunningServicesNumber;
Stopped = $StoppedServicesNumber;
Difference = [System.Math]::Abs($ServiceNumberDiff);
Message = $Message;
}
}
Export-ModuleMember Get-RunningAndStoppedServicesCount