2017-08-24 11 views
1

作業が、新しいオブジェクトではありません新しいオブジェクトなPSCredential私はPowerShellスクリプトへのparamsとして、ユーザー名とパスワードを受け入れるようにしようとしている

$UserID="Name" 
$SecurePassword=convertto-securestring -AsPlainText -Force -String $Password 
New-object –TypeName System.Management.Automation.PSCredential –ArgumentList ($UserID,$SecurePassword) 

はエラーに

新しいオブジェクトを与える:見つけることができません[â€型名 可能System.Management.Automation.PSCredential€ArgumentListはâ]入力:としてsemblyこのタイプを含む がロードされていることを確認します。 Cで:\ PS用の\ login.ps1:14 文字:17 + ... rCredential =新オブジェクトのâ€「型名System.Management.Automation.PSCre ... + ~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ CategoryInfo:InvalidType:(:) [新オブジェクト]、PSArgumentException + FullyQualifiedErrorId:TypeNotFound、Microsoft.PowerShell.Commands.NewObjectCommand

は、誰もがこの問題を解決する方法をいくつかの手がかりを得ましたか。

+2

のUnicodeクラスである ' - 'ArgumentList''の前にはハイフンではありません、ENダッシュ(U + 2013)はハイフン( '-')に置き換えます –

答えて

5

TypeNameArgumentListの前にあるのパラメータはハイフンではなく、ENはダッシュ(U + 2013)で、これはパーサをトリップします。ハイフン(-)に置き換えて:

'New-object –TypeName System.Management.Automation.PSCredential –ArgumentList ($UserID,$SecurePassword)' -replace '\p{Pd}','-' 

\p{Pd}は "P unctuation、D灰"

+0

はい、メモ帳++はUTF-8として保存しています –

関連する問題