【发布时间】:2018-04-09 05:59:17
【问题描述】:
我正在尝试为用户文档创建备份 powershell 脚本。我创建了一个脚本,我在表单框中放置了我要备份的用户名,然后脚本继续执行。最后一件事是我想要一个规则,如果我输入错误的名称,脚本将不会继续。
有谁知道我如何在笔记本电脑上“读取”当前的用户帐户,以便创建规则以交叉检查用户帐户的输入?
最好的问候。
【问题讨论】:
我正在尝试为用户文档创建备份 powershell 脚本。我创建了一个脚本,我在表单框中放置了我要备份的用户名,然后脚本继续执行。最后一件事是我想要一个规则,如果我输入错误的名称,脚本将不会继续。
有谁知道我如何在笔记本电脑上“读取”当前的用户帐户,以便创建规则以交叉检查用户帐户的输入?
最好的问候。
【问题讨论】:
这将读取C:\Users中的所有文件夹并尝试在AD中找到对应的帐户:
Get-Childitem C:\users -Directory |
ForEach-Object {
$profilePath = $_.FullName
Get-AdUser -Filter {SamAccountName -eq $_.Name} |
ForEach-Object {
New-Object -TypeName PsCustomObject |
Add-Member -MemberType NoteProperty -Name Name -Value $_.Name -PassThru |
Add-Member -MemberType NoteProperty -Name ProfilePath -Value $profilePath -PassThru |
Add-Member -MemberType NoteProperty -Name SID -Value $_.SID -PassThru
}
} | Format-Table Name,SID, profilePath -AutoSize
显然,如果需要,您可以修改以获得不同的 AD 属性。此外,删除Format-Table 命令以便通过管道传输输出对象以供进一步操作。
注意:
【讨论】:
Get-WmiObject -Class Win32_UserAccount -Filter "LocalAccount='True'" | Select Name
将为您提供本地帐户的名称。其他可供选择的字段列于here。
【讨论】: