Question [Résolu] Alignement résultat requête avec replace

Plus d'informations
il y a 7 ans 4 mois #28034 par Guillaume
Bonjour à tous !

J'utilise la commande suivante pour voir l'état de mes licences Office 365 :
[code:1]Get-MsolAccountSku | Select-Object SkuPartNumber,ActiveUnits,WarningUnits,ConsumedUnits | Select-Object -Property @{Label='Licence';Expression={$_.SkuPartNumber}}, @{Label='Actives';Expression={$_.ActiveUnits}}, @{Label='Utilisées';Expression={$_.ConsumedUnits}}, @{Label='Expirées';Expression={$_.WarningUnits}} | Out-String[/code:1]

Et j'obtiens :



Tout est bien aligné.

Si je mets la même commande dans une variable et que je fais des replace sur le nom de licences pour que ça rende mieux avec le code suivant :
[code:1]$O365_Resultat_Etat_Licences = Get-MsolAccountSku | Select-Object SkuPartNumber,ActiveUnits,WarningUnits,ConsumedUnits | Select-Object -Property @{Label='Licence';Expression={$_.SkuPartNumber}}, @{Label='Actives';Expression={$_.ActiveUnits}}, @{Label='Utilisées';Expression={$_.ConsumedUnits}}, @{Label='Expirées';Expression={$_.WarningUnits}} | Out-String
$O365_Resultat_Etat_Licences.Replace('POWER_BI_PRO','Power BI Pro').Replace('ENTERPRISEPACK','Office 365 E3').Replace('POWER_BI_STANDARD','Power BI Standard').Replace('MCOMEETADV','Audioconférence').Replace('STANDARDPACK','Office 365 E1')[/code:1]

J'obtiens :



Tout est décalé (sauf Power BI Pro et Standard)…

Comment je peux corriger ça en ayant mes licences renommées et alignées ?

Merci beaucoup ! ;)

Edit : Résolu.<br><br>Message édité par: Guillaume_F, à: 22/01/19 15:46

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 7 ans 4 mois #28038 par Philippe
salut Guillaume_F

il faut faire le replace avant le out-string

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 7 ans 4 mois #28043 par Guillaume
Salut 6ratgus !

Si je retire le Out-String pour le mettre plus loin, ça me marque :

Échec lors de l’appel de la méthode, car [Selected.System.Management.Automation.PSCustomObject] ne contient pas de méthode nommée « Replace ».

Et ça n'est pas lié au custom de noms parce que si je le retire ça me met le message d'erreur suivant :

Échec lors de l’appel de la méthode, car [Selected.Microsoft.Online.Administration.AccountSkuDetails] ne contient pas de méthode nommée « Replace ».

Où dois-je placer mon \&quot;Replace\&quot; ?

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 7 ans 4 mois #28044 par Philippe
je n'est pas de quoi testé mais essai ça :

[code:1]$O365_Resultat_Etat_Licences = Get-MsolAccountSku | Select-Object SkuPartNumber,ActiveUnits,WarningUnits,ConsumedUnits | Select-Object -Property @{Label='Licence';Expression={$_.SkuPartNumber}}, @{Label='Actives';Expression={$_.ActiveUnits}}, @{Label='Utilisées';Expression={$_.ConsumedUnits}}, @{Label='Expirées';Expression={$_.WarningUnits}}
$O365_Resultat_Etat_Licences = $O365_Resultat_Etat_Licences | foreach {
$_.licence = $_.licence.Replace('POWER_BI_PRO','Power BI Pro').Replace('ENTERPRISEPACK','Office 365 E3').Replace('POWER_BI_STANDARD','Power BI Standard').Replace('MCOMEETADV','Audioconférence').Replace('STANDARDPACK','Office 365 E1')
$_
}
$O365_Resultat_Etat_Licences | Out-String[/code:1]

ps : correction du code<br><br>Message édité par: 6ratgus, à: 22/01/19 15:38

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 7 ans 4 mois #28045 par Guillaume
Ha c'est beau !!

Merci beaucoup !:)

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.045 secondes
Propulsé par Kunena