Untitled
unknown
plain_text
3 years ago
4.2 kB
5
Indexable
#Load $machines = @("isrv00293","isrv00107","isrv00105","isrv00103","isrv00104","isrv009xx", "isrv00106", "isrv00xx") "`n" write-Host "Server Online Status" $servers = $machines | ForEach-Object { [PSCustomObject]@{ Machine = $_ State = if (Test-Connection -BufferSize 32 -Count 1 -ComputerName $_ -Quiet) { $true } else { $false } } } $serversexp = $servers | Select Machine, State $serversexp $serversexp | ConvertTo-Json | Out-File "C:\inetpub\wwwroot\dashboard\json\servers.json" "`n" write-Host "HTTP Bindings" $httpbindings = foreach ($machine in $machines ) { icm -comp $machine { param($machine) import-module webadministration; $webbinding = Get-WebBinding -Name "Default Web Site" -Protocol "https" if ($webbinding){ [PSCustomObject]@{ Machine = $env:COMPUTERNAME; State = $true; } } else{ [PSCustomObject]@{ Machine = $env:COMPUTERNAME; State = $false; } } }-ArgumentList $machine -ErrorAction SilentlyContinue } $httpexport = $httpbindings | Select Machine, State $httpexport $httpexport | ConvertTo-Json | Out-File "C:\inetpub\wwwroot\dashboard\json\httpscheck.json" "`n" write-Host "Check Certificate Expiration Date" $certs = foreach ($machine in $machines ) { icm -comp $machine { $cert = Get-ChildItem Cert:\LocalMachine\My if ($cert) { [PSCustomObject]@{ Machine = $env:COMPUTERNAME FriendlyName = $cert.FriendlyName NotAfter = $cert.NotAfter NotBefore = $cert.NotBefore State = if ($cert.NotAfter -lt (Get-Date)) { "expired" } else { $cert.NotAfter.ToString('dd/MM/yyyy') } } } else { [PSCustomObject]@{ Machine = $env:COMPUTERNAME FriendlyName = '' NotAfter = '' NotBefore = '' State = $false } } } -ErrorAction SilentlyContinue } $certexport = $certs | Select Machine, State $certexport | ConvertTo-Json | Out-File "C:\inetpub\wwwroot\dashboard\json\certexpirationdate.json" $certexport "`n" write-Host "Check for iisrole" $iis= foreach ($machine in $machines ) { icm -comp $machine { param($machine) import-module webadministration; $iisisinstalled = Get-WindowsOptionalFeature -Online -FeatureName IIS-WebServerRole if ($iisisinstalled){ [PSCustomObject]@{ Machine = $env:COMPUTERNAME; State = $true } } else{ [PSCustomObject]@{ Machine = $env:COMPUTERNAME; State = $false } } }-ArgumentList $machine -ErrorAction SilentlyContinue } $iisexp = $iis | Select Machine, State $iisexp | ConvertTo-Json | Out-File "C:\inetpub\wwwroot\dashboard\json\iisinstalled.json" $iisexp "`n" write-Host "Check for .net" $netinstalled= foreach ($machine in $machines ) { icm -comp $machine { param($machine) import-module webadministration; $netisinstalled = Get-WindowsOptionalFeature -Online -FeatureName NetFx3ServerFeatures if ($netisinstalled){ [PSCustomObject]@{ Machine = $env:COMPUTERNAME; State = $true } } else{ [PSCustomObject]@{ Machine = $env:COMPUTERNAME; State = $false } } }-ArgumentList $machine -ErrorAction SilentlyContinue } $netexport = $netinstalled | Select Machine, State $netexport | ConvertTo-Json | Out-File "C:\inetpub\wwwroot\dashboard\json\netinstalled.json" $netexport $netexportbykey = $netexport | Select Machine $netexportb
Editor is loading...