2017-07-21 7 views
0

ランダムにパスワードを生成する機能 "RandomPassword"を持つPowershellスクリプトを作成しました。しかし、私はランダムに生成されたパスワードにユーザーパスワードを設定できません。Azure Automationを通じてVMのパスワードを変更できません

PSScript - - 以下はPSスクリプトとエラー私が遭遇したのですがある

Function RandomPassword { 

$ABC="A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z" 
$abc="a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z" 
$char="!","@","#","$","%","*" 
$num="1","2","3","4","5","6","7","8","9","0" 

$Upper=Get-Random -count 1 -InputObject $ABC 
$Lower=Get-Random -count 5 -InputObject $abc 
$Char=Get-Random -count 1 -InputObject $char 
$Num=Get-Random -count 1 -InputObject $num 

$All=Get-Random -Count 7 -InputObject ($Lower+$Char+$Num) 
$Raw=$All -join("") 

$Temppassword = $Upper + $Raw 
$Temppassword 
} 

$RandomPassword=RandomPassword 
$RandomPassword 

Set-ADAccountPassword -Reset -NewPassword $RandomPassword -Identity <username> 

エラー -

Set-ADAccountPassword : Cannot bind parameter 'NewPassword'. Cannot convert the "qkqjh#8w" value of type "System.String" to 
type "System.Security.SecureString". 

私もこのラインを使用しているが、それは助けていなかったと私は受け取っています同じエラー

$SecPaswd=ConvertTo-SecureString -String $RandomPassword -AsPlainText -Force 

私はそれを達成する方法はありますか?どんな助けもありがとう。

答えて

0

エラーに基づいて、提案された解決策が役立ち、$SecPaswdが本当にタイプSystem.Security.SecureStringであるのと同じエラーを得ることはできないと言います。

もちろん、ラインでパラメータを変更する必要があります。

$RandomPassword$SecPaswdに変更する必要があります
Set-ADAccountPassword -Reset -NewPassword $RandomPassword -Identity <username> 

+0

こんにちはマリリーズ、返信いただきありがとうございます。これは既に試されています。 "$ SecPaswd = ConvertTo-SecureString -String $ RandomPassword -AsPlainText -Force"を使用している場合、スクリプトを "Set-ADAccountPassword -Reset -NewPassword $ SecPaswd -Identity "に変更します。両方の時間私は同じエラーを受信して​​いる – zee

+0

あなたはあなたがそれで試したことでスクリプトであなたの質問のスクリプトを更新できますか?関数に$ SecPaswdを渡すと予想される間に、エラーがプレーンテキストでパスワードを記述しているため、エラーとは少し違うエラーが予想されます。エラーが文字列プレーンテキストに言及することはできません。 – MarliesV

関連する問題