在 Chrome 上使用 PS 自动登录到 salesforce
Auto logging in to salesforce using PS on Chrome
我有以下用于在 IE 上登录 salesforce 的脚本。
我想使用 chrome 或 firefox 登录。
如果我需要一个全新的脚本,我会使用它。
$username = "username@domain.com"
$password = "Mypassword"
$ie = New-Object -com InternetExplorer.Application
$ie.visible=$true
$ie.navigate("https://login.salesforce.com")
while ($ie.Busy -eq $true)
{
Start-Sleep -Milliseconds 1000;
}
$ie.document.getElementById("username").value= "$username
$ie.document.getElementById("password").value = "$password"
$login = $ie.document.getElementsByClassName("button r4 wide primary") | Select-Object -first 1
$login.click()
TL;DR:没有内置方法可以完成您的要求。
首先让我说,一般来说,尝试以这种方式自动登录是一个非常非常糟糕的主意 .从安全角度来看,我怎么强调这有多危险都不为过。我 强烈 建议不要尝试编写 Powershell 脚本以这种方式自动登录,除非出于 learning/test 目的使用虚假用户名和密码完成。
也就是说,IE 具有丰富的 COM 接口 - Chrome 而 Firefox 则没有那么多。您将需要 install an extension 才能启用相同的功能。
这是邪恶,如果您想要系统访问和自动化,您应该研究使用 OAuth2 流程的正确 REST 或 SOAP API 访问。甚至还有一个流程,您不共享密码,通过使用先前上传到 SF 且用户预授权的证书签署请求来建立信任...
这绝不应该成为任何严肃的可交付成果的一部分。如果这被黑了 - 你的公司/客户可以起诉要求赔偿。
如果您真的需要它,您可以像 https://login.salesforce.com/?un=username@example.com&pw=hunter2 一样使用简单的 GET,不需要花哨的脚本。在设置 -> 登录历史记录中,您会看到该方法是 GET 而不是 POST(提交真实表单)。我不认为它得到官方支持,他们可以随时更改它。它会通过网络传递您的密码明文...
编辑:
查看贵公司签署的内容。例如主服务协议
https://a.sfdcstatic.com/content/dam/www/ocms-backup/assets/pdf/misc/salesforce_MSA.pdf
(…)the Service or Content may not be accessed by more than that number
of Users, (b) a User’s password may not be shared with any other
individual(…)
我有以下用于在 IE 上登录 salesforce 的脚本。 我想使用 chrome 或 firefox 登录。 如果我需要一个全新的脚本,我会使用它。
$username = "username@domain.com"
$password = "Mypassword"
$ie = New-Object -com InternetExplorer.Application
$ie.visible=$true
$ie.navigate("https://login.salesforce.com")
while ($ie.Busy -eq $true)
{
Start-Sleep -Milliseconds 1000;
}
$ie.document.getElementById("username").value= "$username
$ie.document.getElementById("password").value = "$password"
$login = $ie.document.getElementsByClassName("button r4 wide primary") | Select-Object -first 1
$login.click()
TL;DR:没有内置方法可以完成您的要求。
首先让我说,一般来说,尝试以这种方式自动登录是一个非常非常糟糕的主意 .从安全角度来看,我怎么强调这有多危险都不为过。我 强烈 建议不要尝试编写 Powershell 脚本以这种方式自动登录,除非出于 learning/test 目的使用虚假用户名和密码完成。
也就是说,IE 具有丰富的 COM 接口 - Chrome 而 Firefox 则没有那么多。您将需要 install an extension 才能启用相同的功能。
这是邪恶,如果您想要系统访问和自动化,您应该研究使用 OAuth2 流程的正确 REST 或 SOAP API 访问。甚至还有一个流程,您不共享密码,通过使用先前上传到 SF 且用户预授权的证书签署请求来建立信任...
这绝不应该成为任何严肃的可交付成果的一部分。如果这被黑了 - 你的公司/客户可以起诉要求赔偿。
如果您真的需要它,您可以像 https://login.salesforce.com/?un=username@example.com&pw=hunter2 一样使用简单的 GET,不需要花哨的脚本。在设置 -> 登录历史记录中,您会看到该方法是 GET 而不是 POST(提交真实表单)。我不认为它得到官方支持,他们可以随时更改它。它会通过网络传递您的密码明文...
编辑: 查看贵公司签署的内容。例如主服务协议 https://a.sfdcstatic.com/content/dam/www/ocms-backup/assets/pdf/misc/salesforce_MSA.pdf
(…)the Service or Content may not be accessed by more than that number of Users, (b) a User’s password may not be shared with any other individual(…)