2017-08-24 68 views
1

我試圖接受用戶名和密碼PARAMS到PowerShell腳本,但新物體新對象PSCredential的工作不

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

給出了一個錯誤

新對象:無法找到鍵入[TypeName System.Management.Automation.PSCredential-ArgumentList]:確認 包含此類型的組件已加載。在C:\ ps \ login.ps1:14 char:17 + ... rCredential = New-object - TypeName System.Management.Automation.PSCre ... + ~~~~~~~~~ 〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜 + CategoryInfo:InvalidType:(:) [新對象],PSArgumentException + FullyQualifiedErrorId:TypeNotFound,Microsoft.PowerShell.Commands.NewObjectCommand

任何人有一些線索,如何解決這個問題?

+2

的'-'中的'前面ArgumentList'是不連字符,但EN破折號(U + 2013),用連字符('-')代替它 –

回答

5

TypeNameArgumentList之前的參數不是連字符,而是EN破折號(U + 2013),並且這將跳過解析器。以連字符(-)替換它們:

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

\p{Pd}爲Unicode的類 「P unctuation,d灰燼」

+0

是的,Notepad ++保存爲UTF-8謝謝 –