2014-06-23 4 views
6

Je rencontre des problèmes lors de l'alimentation des variables dans la cmdlet New-MsolUser. Je reçois l'erreur suivante.Erreurs d'argument avec la cmdlet office 365

New-MsolUser : A positional parameter cannot be found that accepts argument 'â?UserPrincipalName [email protected] â?UsageLocation'. 
At C:\users\test\Documents\test.ps1:148 char:1 
+ New-MsolUser -DisplayName $TargetFullname â?"UserPrincipalName $TargetEmail â?" ... 
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    + CategoryInfo   : InvalidArgument: (:) [New-MsolUser], ParentContainsErrorRecordException 
    + FullyQualifiedErrorId : PositionalParameterNotFound,Microsoft.Online.Administration.Automation.NewUser 

Le code J'utilise est:

$Source = "AnotherADUser" 

$TargetFname = "New" 
$TargetLname = "User" 

$Target = "ausertest" 
$TargetFullname = [string]::Concat($TargetFname ," ", $TargetLname) 

$SourceEmail = (Get-ADUser $source -Property EmailAddress).EmailAddress 
$SourceDomain = $SourceEmail.split("@")[1] 
$TargetEmail = ([string]::Concat($Target , "@" , $SourceDomain)) 

New-MsolUser -DisplayName $TargetFullname –UserPrincipalName $TargetEmail –UsageLocation "IE" | Set-MsolUserLicense -AddLicenses "TESTINSTALL:EXCHANGESTANDARD" 

Cette commande fonctionne quand je hardcode les détails ..

+0

Il semble qu'il s'étouffe sur la valeur de '$ TargetFullname'. Utilisez-vous les valeurs données ("Nouvel utilisateur") ou autre chose? –

+0

Le code ci-dessus sont les valeurs que je suis en train de tester et d'obtenir l'erreur ci-dessus. – barconr

+0

Est-ce que vous obtenez toujours l'erreur si vous enveloppez '[string] :: Concat ($ TargetFname," ", $ TargetLname)' entre parenthèses? –

Répondre

4

–UserPrincipalName et –UsageLocation utiliser le caractère moins mais le caractère avec code 8211. Peut-être que c'est bien, mais essayez d'utiliser le standard moins à la place, juste pour être sûr.

Questions connexes