$GlpiCreds = @{AppURL = "http://192.168.100.89/apirest.php";UserToken = "JSsoyIIG067IOWJG0EoJoDFtDSWs8fYgUZgVYQRo";AppToken = "4eMkSWhCanzvyOhTcVInLYhmA4c4gfdXFcCVOsRl";AuthorizationType = "user_token"} $salle = 'A105' $liste = Search-GlpiItem -ItemType "Computer" -SearchOptions ("AND",1,"contains","$salle"),("OR",2,"contains",""),("OR",4,"contains",""),("OR",5,"contains",""),("OR",37,"contains",""),("OR",40,"contains",""),("OR",46,"contains",""),("OR",48,"contains",""),("OR",17,"contains",""),("OR",111,"contains","") -Creds $GlpiCreds $local = Get-iTopObject -key "SELECT Location WHERE name LIKE '%A105'" -class "Location" -OutputFields "*" $location = $local.key For ($i=0; $i -le $liste.Length; $i++) { $pcglp = $liste[$i].2 echo $pcglp $liste2 = Search-GlpiItem -ItemType "Computer" -SearchOptions ("AND",1,"contains",""),("AND",2,"contains","$pcglp"),("OR",4,"contains",""),("OR",5,"contains",""),("OR",37,"contains",""),("OR",40,"contains",""),("OR",46,"contains",""),("OR",48,"contains",""),("OR",17,"contains",""),("OR",111,"contains","") -Creds $GlpiCreds $modele = $liste2.40 $mod = Get-iTopObject -key "SELECT Model WHERE name LIKE '%$modele%'" -class "Model" -OutputFields "*" if (!$mod) { Write-Host "Le modèle '$modele' ne existe pas dans iTop" } $pc = Get-glpiitem -itemtype Computer -id $liste2.2 -creds $GlpiCreds $pc_id = $pc.id $pc_serial = $pc.serial $name = $pc.name if (($pc.otherserial -eq $null) -or ($pc.otherserial -eq "")) { $pcserial = 'notset' } else { $pcserial = $pc.otherserial } if (!$pc.manufacturers_id) { $brand = 10 } elseif ($pc.manufacturers_id -eq 1) {$brand = 106} if (!$pc.computermodels_id) { $model= 150 } elseif ($pc.computermodels_id -eq 6) { $model = 152} elseif ($pc.computermodels_id -eq 8) { $model = 149} elseif ($pc.computermodels_id -eq 10) { $model = 176} elseif ($pc.computermodels_id -eq 1) { $model = 175} if (!$liste2.46) { $os = 8 } elseif ($liste2.46 -eq 1803) { $os = 146} elseif ($liste2.46 -eq 1607) { $os = 146} elseif ($liste2.46 -eq 1703) { $os = 146} elseif ($liste2.46 -eq 1709) { $os = 146} elseif ($liste2.46 -eq 1809) { $os = 146} elseif ($liste2.46 -eq 1909) { $os = 146} if (!$liste2.48) { $version = 154 } elseif ($liste2.48 -eq '10.0.17134') { $version = 154} if (!$liste2.37) { $date2prod = $null $garantie = $null } else { if (($liste2.37 -eq $null) -or ($liste2.37 -eq "")) { $date2prod = $null $garantie = $null } else {$date2prod = $liste2.37 $dateprod = [datetime]::parseexact($date2prod, 'yyyy-MM-dd', $null) $datep = $dateprod.ToString('yyyy-M-d') $garantie = $dateprod.AddYears(+5) $garant = $garantie.ToString('yyyy-M-d') } } if (!$liste2.17) { $cpu = "" } else { $cpu = $liste2.17 } if (!$liste2.111) { $ram = "" } else { $ram = $liste2.111 } if (!$liste2.4) { $type = 'desktop' } elseif ($liste2.4 -eq 'Laptop' ) { $type = 'laptop' } elseif ($liste2.4 -eq 'Desktop' ) { $type = 'desktop' } elseif ($liste2.4 -eq 'Mini Tower' ) { $type = 'desktop' } elseif ($liste2.4 -eq 'Precision 5820 Tower' ) { $type = 'desktop' } $pcitop = Get-iTopObject -key "SELECT PC WHERE serialnumber='$pc_serial'" -class "PC" -OutputFields "*" if ((!$pcitop) -or ($pcitop -eq $null) -or ($pcitop -eq "")) { if ((!$liste2.37) -or ($liste2.37 -eq $null) -or ($liste2.37 -eq "")) { php -f CreatePC2-itop.php PC 2 $name $pc_serial $pcserial $location $brand $model $os $version $cpu $ram $type } else { php -f CreatePC-itop.php PC 2 $name $pc_serial $pcserial $location $brand $model $os $version $date2prod $garant $cpu $ram $type } } else { echo $name $location $brand $model $os $version $date2prod $cpu $ram $type $garant if ((!$liste2.37) -or ($liste2.37 -eq $null) -or ($liste2.37 -eq "")) { Set-iTopObject -key $pcitop.key -class "PC" -Fields @{'name'=$name} Set-iTopObject -key $pcitop.key -class "PC" -Fields @{'asset_number'=$pcserial} Set-iTopObject -key $pcitop.key -class "PC" -Fields @{'location_id'=$location} Set-iTopObject -key $pcitop.key -class "PC" -Fields @{'type'=$type} Set-iTopObject -key $pcitop.key -class "PC" -Fields @{'brand_id'=$brand} Set-iTopObject -key $pcitop.key -class "PC" -Fields @{'model_id'=$model} Set-iTopObject -key $pcitop.key -class "PC" -Fields @{'cpu'=$cpu} Set-iTopObject -key $pcitop.key -class "PC" -Fields @{'osfamily_id'=$os} Set-iTopObject -key $pcitop.key -class "PC" -Fields @{'osversion_id'=$version} Set-iTopObject -key $pcitop.key -class "PC" -Fields @{'ram'=$ram} } else { echo $location $brand $model $os $version $date2prod $cpu $ram $type $garant Set-iTopObject -key $pcitop.key -class "PC" -Fields @{'name'=$name} Set-iTopObject -key $pcitop.key -class "PC" -Fields @{'asset_number'=$pcserial} Set-iTopObject -key $pcitop.key -class "PC" -Fields @{'location_id'=$location} Set-iTopObject -key $pcitop.key -class "PC" -Fields @{'type'=$type} Set-iTopObject -key $pcitop.key -class "PC" -Fields @{'brand_id'=$brand} Set-iTopObject -key $pcitop.key -class "PC" -Fields @{'model_id'=$model} Set-iTopObject -key $pcitop.key -class "PC" -Fields @{'cpu'=$cpu} Set-iTopObject -key $pcitop.key -class "PC" -Fields @{'osfamily_id'=$os} Set-iTopObject -key $pcitop.key -class "PC" -Fields @{'osversion_id'=$version} Set-iTopObject -key $pcitop.key -class "PC" -Fields @{'ram'=$ram} Set-iTopObject -key $pcitop.key -class "PC" -Fields @{'move2production'=$date2prod} Set-iTopObject -key $pcitop.key -class "PC" -Fields @{'purchase_date'=$date2prod} Set-iTopObject -key $pcitop.key -class "PC" -Fields @{'end_of_warranty'=$garant} Write-Host "rien à faire" } } }