何かにログインするには、page1にユーザー名を、page2にパスワードを入力してからpage3にsubmitをクリックする必要があります。それを簡単にするために私はPSスクリプトを書いた。私はパスワードをハードコーディングしてダブルチェックし、成功しました。Powershell - 安全な文字列で行をマスクする
パスワードをハードコードしたくないのですが、私は追加した$pass
とそれを読む方法を使用しました。しかし、今私はスクリプトを実行すると、無効なパスワードを取得します。
私はGet-Credentials
を使いたかったのですが、特定のページでユーザー名またはパスワードを渡すだけではわかりませんでした。
私は目標に向かって正しい方向に私を助けるために助言をいただきたいと思います。
$pass = Read-Host 'd\P What is your password?' -AsSecureString
[Runtime.InteropServices.Marshal]::PtrToStringAuto(
[Runtime.InteropServices.Marshal]::SecureStringToBSTR($pass))
$IE = New-Object -ComObject InternetExplorer.Application
$URL = 'https://website/'
$IE.Visible = $true
$IE.Navigate($URL)
While ($IE.Busy -eq $true) {Start-Sleep -Milliseconds 1000}
$ie.Document.getElementById('DATA').value = "P0523586"
$Submit = $ie.Document.getElementsByTagName('Input') | ? {$_.Type -eq "Submit"}
$Submit.click()
While ($IE.Busy -eq $true) {Start-Sleep -Milliseconds 1000}
$ie.Document.getElementById('DATA').value = "$pass"
$Submit = $ie.Document.getElementsByTagName('Input') | ? {$_.Type -eq "Submit"}
$Submit.click()
While ($IE.Busy -eq $true) {Start-Sleep -Milliseconds 1000}
$Submit = $ie.Document.getElementsByTagName('Input') | ? {$_.Type -eq "Submit"}
$Submit.click()
デコードされた '$ pass'をエコーして正しいことを確認しましたか? – arco444