Question [Résolu] Exception lors de l'appel de «ToString»

Plus d'informations
il y a 8 ans 1 mois #24989 par Philippe

Ceci dit ça ne nous dit pas ce qui provoquait l'erreur.

pour l'erreur quand un attribut est vide dans l'AD ça renvoie $null et donc l'appel d'une fonction de null provoque une erreur

Pour ta construction de chaine tu peux faire ceci :
[code:1]$S='Ligne Directe : {0} - Mobile : {1}' -f $ADTelephoneNumber,$ADMobile
$S[/code:1]

j'ai pas de problème avec la premiere construction, j'espère que celle ci fonctionnera mieux pour nico76

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

Plus d'informations
il y a 8 ans 1 mois #24993 par PAWLAK
Merci à vous 2 mais comment j'intègre ce code avec ce que j'ai déjà ?

[code:1]if($ADTelephoneNumber -ne \"\" -and $ADMobile -ne \"\"«»)

{

$ReplaceText = 'Ligne Directe : '+ $ADTelephoneNumber + ' - ' + 'Mobile : '+ $ADMobile

}[/code:1]

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

Plus d'informations
il y a 8 ans 1 mois #24994 par Laurent Dardenne
6ratgus écrit:

pour l'erreur quand un attribut est vide dans l'AD ça renvoie $null

J'ai testé différent cas et je n'ai pas rencontré le message d'erreur affiché ici.
Si c'est le cas cela devrait avoir le même comportement que ceci :
[code:1]
'Test'+$null
#Test
[/code:1]

@Rico76, cela remplace ton code.<br><br>Message édité par: Laurent Dardenne, à: 12/02/18 17:47

Tutoriels PowerShell

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

Plus d'informations
il y a 8 ans 1 mois #25000 par PAWLAK
Bonjour Laurent,

J'ai donc remplacé le code comme ci dessus :

[code:1]$S='Ligne Directe : {0} - Mobile : {1}' -f $ADTelephoneNumber,$ADMobile
$S

if($ADTelephoneNumber -ne \&quot;\&quot;«»){
$FindText = \&quot;TelephoneNumber\&quot;
$ReplaceText = 'Ligne Directe : '+ $ADTelephoneNumber.ToString()
$MSWord.Selection.Find.Execute($FindText, $MatchCase, $MatchWholeWord, $MatchWildcards, $MatchSoundsLike, $MatchAllWordForms, $Forward, $Wrap, $Format, $ReplaceText, $ReplaceAll )
}
Else{
$FindText = \&quot;TelephoneNumber\&quot;
$ReplaceText = \&quot;\&quot;
$MSWord.Selection.Find.Execute($FindText, $MatchCase, $MatchWholeWord, $MatchWildcards, $MatchSoundsLike, $MatchAllWordForms, $Forward, $Wrap, $Format, $ReplaceText, $ReplaceAll )
}

If ($ADMobile -ne \&quot;\&quot;«») {
$FindText = \&quot;Mobile\&quot;
$ReplaceText = 'Mobile : '+ $ADMobile.ToString()
$MSWord.Selection.Find.Execute($FindText, $MatchCase, $MatchWholeWord, $MatchWildcards, $MatchSoundsLike, $MatchAllWordForms, $Forward, $Wrap, $Format, $ReplaceText, $ReplaceAll )
}
Else {
$FindText = \&quot;Mobile\&quot;
$ReplaceText = \&quot;\&quot;
$MSWord.Selection.Find.Execute($FindText, $MatchCase, $MatchWholeWord, $MatchWildcards, $MatchSoundsLike, $MatchAllWordForms, $Forward, $Wrap, $Format, $ReplaceText, $ReplaceAll )

}
[/code:1]

Mais je n'ai toujours pas le tiret entre 2 :(

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

Plus d'informations
il y a 8 ans 1 mois #25001 par Laurent Dardenne
Pour :
[code:1]
if($ADTelephoneNumber -ne \&quot;\&quot; -and $ADMobile -ne \&quot;\&quot;«»)
{
$ReplaceText = 'Ligne Directe : '+ $ADTelephoneNumber + ' - ' + 'Mobile : '+ $ADMobile
}
[/code:1]
essai :
[code:1]
if($ADTelephoneNumber -ne \&quot;\&quot; -and $ADMobile -ne \&quot;\&quot;«»)
{
$ReplaceText ='Ligne Directe : {0} - Mobile : {1}' -f $ADTelephoneNumber,$ADMobile
}
[/code:1]

Tutoriels PowerShell

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

Plus d'informations
il y a 8 ans 1 mois #25002 par PAWLAK
pareil toujours pas le petit tiret :unsure:

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

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