Public/Setup/Plugins/FusionInventory/Get-GlpiToolsFusionInventoryUnmanaged.ps1
<#
.SYNOPSIS Function to show Fusion Unmanaged Devices from GLPI .DESCRIPTION Function to show Fusion Unmanaged Devices from GLPI. Function will show Unmanaged Devices, which are in GLPI, not on Fusions .EXAMPLE PS C:\> Get-GlpiToolsFusionUnmanaged Devices Function will show all Unmanaged Devices which are available in GLPI .INPUTS Inputs (if any) .OUTPUTS Function returns PSCustomObject .NOTES PSP 01/2019 #> function Get-GlpiToolsFusionInventoryUnmanaged { [CmdletBinding()] param ( ) begin { $InvocationCommand = $MyInvocation.MyCommand.Name if (Check-GlpiToolsPluginExist -InvocationCommand $InvocationCommand) { } else { throw "You don't have this plugin Enabled in GLPI" } $SessionToken = $Script:SessionToken $AppToken = $Script:AppToken $PathToGlpi = $Script:PathToGlpi $SessionToken = Set-GlpiToolsInitSession | Select-Object -ExpandProperty SessionToken $AppToken = Get-GlpiToolsConfig | Select-Object -ExpandProperty AppToken $PathToGlpi = Get-GlpiToolsConfig | Select-Object -ExpandProperty PathToGlpi $UnmanagedArray = [System.Collections.Generic.List[PSObject]]::New() } process { $params = @{ headers = @{ 'Content-Type' = 'application/json' 'App-Token' = $AppToken 'Session-Token' = $SessionToken } method = 'get' uri = "$($PathToGlpi)/PluginFusioninventoryUnmanaged/?range=0-999999999" } $AllFusionUnmanaged = Invoke-RestMethod @params foreach ($FusionUnmanaged in $AllFusionUnmanaged) { $FusionHash = [ordered]@{ } $FusionProperties = $FusionUnmanaged.PSObject.Properties | Select-Object -Property Name, Value foreach ($FusionProp in $FusionProperties) { $FusionHash.Add($FusionProp.Name, $FusionProp.Value) } $object = [pscustomobject]$FusionHash $UnmanagedArray.Add($object) } $UnmanagedArray $UnmanagedArray = [System.Collections.Generic.List[PSObject]]::New() } end { Set-GlpiToolsKillSession -SessionToken $SessionToken } } |