【发布时间】:2018-06-01 20:29:52
【问题描述】:
我必须使用 PowerShell 为 Active Directory 编写迁移脚本。 此脚本将更新存储在 KeePass 的 Pleasant Password Server 中的服务器本地管理员的密码。
首先我使用我的 Windows 登录凭据登录 KeePass,然后搜索需要更新密码的服务器。
因此,跳过上述功能的脚本,我将从生成密码开始:
function Generate-Password {
$alphabets = "abcdefghijklmnopqstuvwxyz1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ!@#%^*"
$char = for ($i = 0; $i -lt $alphabets.Length; $i++) { $alphabets[$i] }
for ($i = 1; $i -le 16; $i++) {
Write-Host -NoNewline $(Get-Random $char)
if ($i -eq 16) { Write-Host `n }
}
}
$pass = Generate-Password
从上述脚本生成密码后,我想更新我搜索的服务器的密码。
例如:查找Server Details的附件
我想通过Generate-Password函数修改上面搜索到的服务器的密码。
为此,我使用了REST API method of PPS:
function UpdatePassword {
$update = Invoke-RestMethod -Uri “$KeepassURL/api/v4/rest/credential/$CredentialID/password/$pass” -Headers $headers -Method Put -ContentType ‘application/json’
}
我认为我在这里的语法有一些错误。我如何传递生成的密码,即。 $pass 调用的 REST 方法?
【问题讨论】:
-
什么“服务器详细信息”?什么没有按您预期的方式工作? 如何它没有按您预期的方式工作?
-
服务器详细信息是指用户名=服务器名称(01)和与之相邻的密码。请找到所附图片!
-
嗯...不,我没有。
-
嗨@AnsgarWiechers。请原谅我找不到附加的图像。已编辑问题。现在您可以看到链接“服务器详细信息”作为附加图像。谢谢!
标签: windows rest powershell scripting active-directory