PowerShell Server Baseline | SQL Insert | Input Script

1) The initial run will execute the Input Script adding the server names

as well as all running services found on each system into a SQL database table.



# Get Service Information and Export to CSV 


#Get List of Online Accessible Servers
$GetServers = Get-Content C:\temp\ServerList.txt 

#Query Each Server for a List of Running Services
$Results=Invoke-Command -ComputerName $GetServers -ScriptBlock {Get-Service | Where{$_.Status -eq "Running"}}

#Export Select Results to File and for Reference File
$Results | Select PSComputerName,Name, DisplayName | Export-csv C:\temp\MyServices.csv -NoTypeInformation 


# Inset Data Into SQL DB Table 


#Import Data For Insert to SQL 
$ImportData=Import-CSV C:\temp\MyServices.csv

#Downloads and Installs SQL Module and Will Overwrite and Older Version Module Installed
Install-Module -Name SqlServer -AllowClobber

#Loop Through Each Record and Add to SQL Table
Foreach($Comp in $ImportData){

                INSERT INTO [dbo].[ComputerServices]

    #Command to Insert to SQL     
    Invoke-Sqlcmd -ServerInstance Desktop-Main -database ServerManager -Query $insertquery