Invoke-BluGeniePSQuery



Invoke-BluGeniePSQuery

SYNOPSIS

Invoke-BluGeniePSQuery will sweep one or more IP addresses to determine if PowerShell 3 or higher is installed.

SYNTAX

Invoke-BluGeniePSQuery [[-System] <String[]>] [[-Range] <String[]>] [[-PassThrough]] [[-PingTimeOut] <Int32>] [[-Force]] [[-JSONJob] <String>] [[-FilterType] <String>] [[-Pattern] <Object>] [[-Run]] [[-LogPath] 
<String>] [[-LogName] <String>] [[-Walkthrough]] [<CommonParameters>]

DESCRIPTION

Invoke-BluGeniePSQuery will query system information over WMI for one or more IP addresses to determine if PowerShell 3 or higher is installed. A report is generated by default in the Transcripts directory called "PingReport_D_TG.CSV"

Captured Data fields Address - Remote IP Address ( 10.20.136.121 ) ComputerName - Remote Host Name ( win7sp1001 ) FQDN - Fully Qualified Domain Name ( WIN7SP1001.TestLab.Com ) FreePhysicalMemoryGB - Free Physical Memory Quote in GB ( .54 ) FreePhysicalMemoryMB - Free Physical Memory Quote in MB ( 558 ) Online - Online Status ( True or False ) OS - Operating System Name ( Microsoft Windows 7 Enterprise ) OSVersion - Operating Version ( 6.1.7601 ) Compliant - PowerShell Version 3 or Higher ( True ) PowerShellVer - Installed PowerShell Version ( 2.0 ) TotalPhysicalMemoryGB - Total Physical Memory Quote in GB ( 6 ) TotalPhysicalMemoryMB - Total Physical Memory Quote in MB ( 6291000 ) TotalVirtualMemorySizeGB - Total Virtual Memory Quote in GB ( 12 ) TotalVirtualMemorySizeMB - Total Virtual Memory Quote in MB ( 12285 )

EXAMPLES

EXAMPLE 1

Command: Invoke-BluGeniePSQuery -System 10.20.136.51
Description: Scan the ip address specified and pull System and PowerShell information if the computer is Online!
Notes: A report is generated by default in the Transcripts directory called "PingReport_D<DATE>_T<TIME>G<GUID>.CSV"

EXAMPLE 2

Command: Invoke-BluGeniePSQuery -Range "10.20.136.50-10.20.136.100"
Description: Scan the ip address range specified and pull System and PowerShell information if the computer is Online!
Notes: A report is generated by default in the Transcripts directory called "PingReport_D<DATE>_T<TIME>G<GUID>.CSV"

EXAMPLE 3

Command: Invoke-BluGeniePSQuery -System "10.20.136.1","10.20.136.2","10.20.136.3","10.20.136.4","10.20.136.5","10.20.136.10","10.20.136.11","10.20.136.50","10.20.136.51","10.20.136.52"
Description: Scan multiple ip addresses specified and pull System and PowerShell information if the computer is Online!
Notes: A report is generated by default in the Transcripts directory called "PingReport_D<DATE>_T<TIME>G<GUID>.CSV"

EXAMPLE 4

Command: Invoke-BluGeniePSQuery -System 'TestPC001','TestPC002','TestPC003' -Force
Description: Scan the hosts and pull System and PowerShell information. Do not process an [ICMP / Ping] request prior to trying to connect.
Notes:

EXAMPLE 5

Command: Invoke-BluGeniePSQuery -System 'TestPC001','TestPC002','TestPC003' -PassThrough
Description: Scan the hosts and updates the BluGenie Systems list with any remote computer that is PowerShell 3 or higher (Default Filter)
Notes:

EXAMPLE 6

Command: Invoke-BluGeniePSQuery -Range "10.20.136.50-10.20.136.100" -PingTimeOut 5
Description: Scan the ip address range specified, and update the Ping Time Out to 5 ms.
Notes: This speeds up the process for systems that are not online.  The default value is 15 which is still very fast.

EXAMPLE 7

\Job.JSON'
Description: Import settings from a JSON job file and Scan the specified systems from the JSON file and pull System and PowerShell information if the computer is Online!
Notes:

EXAMPLE 8

\Job.JSON' -PassThrough
Description: Import settings from a JSON job file, Scan the specified systems from the JSON file, and update the BluGenie Systems list with any remote computer that is PowerShell 3 or higher
Notes: -FilterType is set to filter (Compliant) by default and -Pattern is set to (True) so only machines with PowerShell 3 or higher will be found.

EXAMPLE 9

\Job.JSON' -PassThrough -FilterType OS -Patter 'Windows\s10'
Description: Import settings from a JSON job file, Scan the specified systems from the JSON file, and update the BluGenie Systems list with any remote computer that is (Windows 10)
Notes:

EXAMPLE 10

\Job.JSON' -PassThrough -FilterType OS -Patter 'Windows\s10' -Run
Description: Import settings from a JSON job file, Scan the specified systems from the JSON file, update the BluGenie Systems list with any remote computer that is (Windows 10) and Run all remote commands on the updates computer list
Notes:

EXAMPLE 11

\Job.JSON' -LogName 'BG_System_Query'
Description: Import settings from a JSON job file, Scan the specified systems from the JSON file, and save a report named (BG_System_Query.CSV and BG_System_Query.JSON) to the Current Transcript Directory
Notes:

EXAMPLE 12

\Job.JSON' -LogName 'BG_System_Query' -LogPath 'C:\Temp'
Description: Import settings from a JSON job file, Scan the specified systems from the JSON file, and save a report named (BG_System_Query.CSV and BG_System_Query.JSON) to the Current Transcript Directory
Notes:

EXAMPLE 13

Command: Invoke-BluGeniePSQuery -Help
Description: Call Help Information
Notes: If Help / WalkThrough is setup as a parameter, this script will be called to setup the Dynamic Help Menu if not the normal Get-Help will be called with the -Full parameter

EXAMPLE 14

Command: Invoke-BluGeniePSQuery -WalkThrough
Description: Call Help Information [2]
Notes: If Help / WalkThrough is setup as a parameter, this script will be called to setup the Dynamic Help Menu if not the normal Get-Help will be called with the -Full parameter

PARAMETERS

System

-System <String[]>
   Description: IP Address or Host name to Query
   Notes: System names can also be called from BluGenie's system list if the System parameter is not set.
   Alias:
   ValidateSet:
   
   Required?                    false
   Position?                    1
   Default value                $global:ConsoleSystems
   Accept pipeline input?       false
   Accept wildcard characters?  false

Range

-Range <String[]>
   Description: Range of IP Addresses to Query 
   Notes: Range information can also be called from BluGenie's range list if the Range parameter is not set.
   Alias:
   ValidateSet:
   
   Required?                    false
   Position?                    2
   Default value                $global:ConsoleRange
   Accept pipeline input?       false
   Accept wildcard characters?  false

PassThrough

-PassThrough [<SwitchParameter>]
   Description: Update the BGConsole System Array list with all systems that match the filtered information
   Notes:  
   Alias:
   ValidateSet:
   
   Required?                    false
   Position?                    3
   Default value                False
   Accept pipeline input?       false
   Accept wildcard characters?  false

PingTimeOut

-PingTimeOut <Int32>
   Description: [TTL] - Time to live ping setting 
   Notes: The default is 15ms 
   Alias:
   ValidateSet:
   
   Required?                    false
   Position?                    4
   Default value                15
   Accept pipeline input?       false
   Accept wildcard characters?  false

Force

-Force [<SwitchParameter>]
   Description: Force connect without trying to run an ICMP (Internet Control Message Protocol)
   Notes:  
   Alias:
   ValidateSet:
   
   Required?                    false
   Position?                    5
   Default value                False
   Accept pipeline input?       false
   Accept wildcard characters?  false

JSONJob

-JSONJob <String>
   Description: Use a JSON job file to import settings
   Notes:  
   Alias:
   ValidateSet:
   
   Required?                    false
   Position?                    6
   Default value                
   Accept pipeline input?       false
   Accept wildcard characters?  false

FilterType

-FilterType <String>
   Description:  Which property to filter by
   Notes:  
           Filter Option = Address                     - Remote IP Address                   ( 10.20.136.121 )
           Filter Option = ComputerName                - Remote Host Name                    ( win7sp1001 )
           Filter Option = FQDN                        - Fully Qualified Domain Name         ( WIN7SP1001.TestLab.Com )
           Filter Option = FreePhysicalMemoryGB        - Free Physical Memory Quote in GB    ( .54 )
           Filter Option = FreePhysicalMemoryMB        - Free Physical Memory Quote in MB    ( 558 )
           Filter Option = Online                      - Online Status                       ( True or False )
           Filter Option = OS                          - Operating System Name               ( Microsoft Windows 7 Enterprise )
           Filter Option = OSVersion                   - Operating Version                   ( 6.1.7601 )
           Filter Option = Compliant                 - PowerShell Version 3 or Higher      ( True or False ) **Default Search Field**
           Filter Option = PowerShellVer               - Installed PowerShell Version        ( 2.0 )
           Filter Option = TotalPhysicalMemoryGB       - Total Physical Memory Quote in GB   ( 6 )
           Filter Option = TotalPhysicalMemoryMB       - Total Physical Memory Quote in MB   ( 6291000 )
           Filter Option = TotalVirtualMemorySizeGB    - Total Virtual Memory Quote in GB    ( 12 )
           Filter Option = TotalVirtualMemorySizeMB    - Total Virtual Memory Quote in MB    ( 12285 )
   Alias:
   ValidateSet: 'Name','Address','ComputerName','FQDN','FreePhysicalMemoryGB','FreePhysicalMemoryMB','Online','OS','OSVersion','Compliant','PowerShellVer','TotalPhysicalMemoryGB','TotalPhysicalMemoryMB','TotalVir
   tualMemorySizeGB','TotalVirtualMemorySizeMB'
   
   Required?                    false
   Position?                    7
   Default value                Compliant
   Accept pipeline input?       false
   Accept wildcard characters?  false

Pattern

-Pattern <Object>
   Description: Search Pattern using RegEx
   Notes: Using -SearchHidden will convert the Pattern to RegEx Automatically but without the comma or the -SearchHidden the -Pattern is viewed as as a Command Console Search pattern.  You can use (*) wildcards. 
   Alias:
   ValidateSet:
   
   Required?                    false
   Position?                    8
   Default value                True
   Accept pipeline input?       false
   Accept wildcard characters?  false

Run

-Run [<SwitchParameter>]
   Description: Process any command(s) from the JSON Job file on any of the systems filtered by PSQuery.
   Notes: 
   Alias:
   ValidateSet:
   
   Required?                    false
   Position?                    9
   Default value                False
   Accept pipeline input?       false
   Accept wildcard characters?  false

LogPath

-LogPath <String>
   Description: Path to save the Log File
   Notes: Default is the ( $TranscriptsDir ) Transcript Directory
   Alias:
   ValidateSet:
   
   Required?                    false
   Position?                    10
   Default value                $TranscriptsDir
   Accept pipeline input?       false
   Accept wildcard characters?  false

LogName

-LogName <String>
   Description: Name of the Report(s)
   Notes: There are 2 reports that get generated (*.CSV, and *.JSON).  The default file name is ( PingReport_D<Current Date>_T<Current Time>G_<5 Digit UID> )
   Alias:
   ValidateSet:
   
   Required?                    false
   Position?                    11
   Default value                $($('PingReport_D{0}G_{1}' -f $(New-TimeStamp), $(New-UID -NumPerSet 5 -NumOfSets 1)) -replace '(\d)_(\d)','$1_T$2')
   Accept pipeline input?       false
   Accept wildcard characters?  false

Walkthrough

-Walkthrough [<SwitchParameter>]
   Description:  Start the dynamic help menu system to help walk through the current command and all of the parameters
   Notes:  
   Alias: Help
   ValidateSet:
   
   Required?                    false
   Position?                    12
   Default value                False
   Accept pipeline input?       false
   Accept wildcard characters?  false

CommonParameters

This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see about_CommonParameters.

Last updated