导入csv遍历第1列并修改每个条目并添加到第2列

时间:2018-08-16 18:16:46

标签: powershell

这就是我想要达到的目标。

导入用户名列表,然后将其转换为特定格式的通用密码。

到目前为止,这是我所拥有的,但我知道并非总是以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

1 个答案:

答案 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可以在循环上方定义(如果重要)。但是请记住,并非每个人的移位数字值都相同,具体取决于键盘布局。

此外,用户名和密码列表从来都不是特别安全。

都不是容易获得的密码。