这就是我想要达到的目标。
导入用户名列表,然后将其转换为特定格式的通用密码。
到目前为止,这是我所拥有的,但我知道并非总是以1:1替代。所以,我只是停留在下一步该怎么做。
#Import List of Usernames from Already Generated .CSV File
$Userlist = Import-Csv "Mycsvfile.csv"
$Userlist | ForEach-Object {
#Calls first column labled Username and Modifies first 2 letters.
}
Write-Output $userlist
答案 0 :(得分:0)
定义“移位”值的数组或字符串,并对其进行索引。像这样:
... | ForEach-Object {
$shifted = ')!"£$%^&*('
########### 0123456789
$nums = $_.username.Substring(2).ToCharArray()
$pwd = "Md"
for ($i = 0; $i -lt $nums.Length; $i++) {
$n = [Convert]::ToInt32($nums[$i].ToString())
$pwd += $shifted[$n]
}
New-Object PSObject -Property @{ Username=$_.username; Password=$pwd }
}
从技术上讲,$shifted
可以在循环上方定义(如果重要)。但是请记住,并非每个人的移位数字值都相同,具体取决于键盘布局。
此外,用户名和密码列表从来都不是特别安全。
都不是容易获得的密码。