• Ahh got it, throw all this into a .ps1 file, then run it like:

    powershell -FILE C:\yourScript.ps1

    #Server/DB for your repository

    $Server = "yourServerName"

    $Database = "yourDBName"

    ## SQL connection function

    # removes the need to install the SQL extensions for PowerShell

    function Invoke-Sqlcmd2

    {

    param([string]$ServerInstance,

    [string]$Database,

    [string]$Query,

    [Int32]$QueryTimeout=30

    )

    $conn=new-object System.Data.SqlClient.SQLConnection

    $conn.ConnectionString="Server={0};Database={1};Integrated Security=True" -f $ServerInstance,$Database

    $conn.Open()

    $cmd=new-object system.Data.SqlClient.SqlCommand($Query,$conn)

    $cmd.CommandTimeout=$QueryTimeout

    $ds=New-Object system.Data.DataSet

    $da=New-Object system.Data.SqlClient.SqlDataAdapter($cmd)

    [void]$da.fill($ds)

    $conn.Close()

    $ds.Tables[0]

    }

    ## Begin Code

    $con = "Server=$Server;Database=$Database;Integrated Security=True"

    $cmd = "SELECT DISTINCT ServerName FROM yourListofServers WHERE IsActive=1"

    $da = new-object System.Data.SqlClient.SqlDataAdapter ($cmd, $con)

    $dt = new-object System.Data.DataTable

    $da.fill($dt) | out-null

    foreach ($srv in $dt)

    {

    $ServerName = $srv.ServerName

    $Reply = Test-Connection -ComputerName $ServerName -Count 1 -Quiet

    # if ping returns then continue

    if ($Reply –eq “True”)

    {

    #Write-Host $ServerName

    $disks = Get-WMIObject -ComputerName $ServerName Win32_LogicalDisk -Filter "DriveType=3"

    foreach ($disk in $disks)

    {

    [float]$freespace = $disk.FreeSpace;

    [float]$capacity = $disk.Size;

    $freeSpaceGB = [Math]::Round($freespace / 1073741824, 1);

    $totalsizeGB = [Math]::Round($capacity / 1073741824, 1);

    $driveletter = $disk.DeviceID

    #Write-Host $disk.DeviceID", "$freeSpaceGB", "$totalsizeGB

    $sql = "Exec spYourRefreshProc '$ServerName', '$driveletter', $freeSpaceGB, $totalsizeGB"

    #Write-Host $sql

    Invoke-Sqlcmd2 -serverinstance $Server -database $Database -query $sql

    }

    }

    $Reply = ""

    }

    MCSA SQL 2014