查找和替换带有Powershell的CSV文件

JMeterX

我有一个脚本可以创建随机密码,并将其存储在具有不同信息标题(例如)的csv文件中$username, $system, $password该脚本在新环境中运行,以为服务帐户创建随机生成的密码。每90天,管理此环境的人员将需要更改这些密码,因此我试图创建一个脚本,然后将其更改为密码并使用新的密码更新csv文件。我可以毫无问题地更改密码,但是修改csv文件一直是另一回事。

我的功能,Function UpdatePassword ($username,$system,$password)将收到以下行:

$result = UpdatePassword $entry.Name "Active Directory" "${account_password}"

我想搜索csv文件,并将正在编辑的用户名与CSV文件中的相应用户名进行匹配。但是,由于某些用户名可能相同(只需接受此名称),因此我还需要检查$ system变量,在本例中为“ Active Directory”。如果这两个值都匹配一行,那么我想用新的替换$ password。

function UpdatePassword($username,$system,$password) { if($(hostname)
-eq "Machine") {   New-PSDrive -Name AdminShare -PSProvider FileSystem -Root $LOCALPASSWORDFILE | Out-Null } else {   New-PSDrive -Name AdminShare -PSProvider FileSystem -Root $REMOTEPASSWORDFILE | Out-Null } $PASSWORDFILE = "AdminShare:\Passwords.csv"

##########
#Checking for required values
##########

if(!$username -or !$system) {   write-host "username, system, and special characters fields are required"   return "invalid arguments" }

$pwFile = import-csv $PASSWORDFILE

foreach ($user in $pwFile) {   
    if($user.username.tolower() -eq $username.tolower() -and $system.tolower() -eq $userem.tolower())   {       
        $_ -replace $user.Password, $password | Set-Content $pwFile;
    }
return 0   
 }

  Remove-PSDrive -Name AdminShare | out-null }
基思·希尔

使用时,Import-Csv您将CSV文件读入PowerShell自定义对象的数组中,其中CSV的每个字段均由每个自定义对象上的一个属性表示。您不想将其视为字符串,而是尝试将字符串写回到CSV文件。而是修改对象的属性,例如在内部if执行以下操作:

$user.Password = $password

然后在foreach循环之外,将对象导出回CSV文件,例如:

$pwFile | Export-File $PASSWORDFILE -NoTypeInformation

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

查找和替换所有文件的PowerShell脚本

来自分类Dev

Powershell仅查找和替换CSV的第一行

来自分类Dev

查找和替换使用带有Resharper的Using语句查找和替换

来自分类Dev

如何在PowerShell中查找和替换文件内容?

来自分类Dev

如何从 2 个 csv 文件中查找和替换单词

来自分类Dev

带有CSV文件的Python``和''迭代

来自分类Dev

Powershell查找替换和备份

来自分类Dev

Powershell - 查找和替换日期

来自分类Dev

从带有标题的 CSV 文件中查找行的总和

来自分类Dev

Visual Studio查找和替换具有默认文件类型

来自分类Dev

Perl查找和替换(带有编号替换)进入无限循环

来自分类Dev

查找和移动文件而不会覆盖并带有输出

来自分类Dev

使用 Python 3 在 CSV 文件中的子文件夹/TXT 中查找和替换

来自分类Dev

在 Powershell 中创建带有日期和时间戳的文件

来自分类Dev

上载CSV文件和带有标题作为列名的数据

来自分类Dev

来自 csv 文件的带有 html 和 javascript 的表格

来自分类Dev

如何在Notepad ++的末尾查找和替换带有编号的名称?

来自分类Dev

Excel VBA查找和替换带有循环的字符串中的文本

来自分类Dev

在Powershell中为.dat文件保存查找和替换文本功能

来自分类Dev

带有Powershell的批次重命名-需要查找并与csv中的标题匹配file_id

来自分类Dev

在2个CSV文件C#之间查找和替换记录

来自分类Dev

使用 bash 查找和替换一个 csv 文件中的条目

来自分类Dev

查找和替换文件夹中的所有文件名-PHPStorm / WebStorm

来自分类Dev

从大文件中查找和替换

来自分类Dev

在文件中查找和替换文本

来自分类Dev

解锁Xcode项目文件以查找和替换

来自分类Dev

查找和替换文件行

来自分类Dev

从大文件中查找和替换

来自分类Dev

用Powershell替换CSV文件标题行

Related 相关文章

  1. 1

    查找和替换所有文件的PowerShell脚本

  2. 2

    Powershell仅查找和替换CSV的第一行

  3. 3

    查找和替换使用带有Resharper的Using语句查找和替换

  4. 4

    如何在PowerShell中查找和替换文件内容?

  5. 5

    如何从 2 个 csv 文件中查找和替换单词

  6. 6

    带有CSV文件的Python``和''迭代

  7. 7

    Powershell查找替换和备份

  8. 8

    Powershell - 查找和替换日期

  9. 9

    从带有标题的 CSV 文件中查找行的总和

  10. 10

    Visual Studio查找和替换具有默认文件类型

  11. 11

    Perl查找和替换(带有编号替换)进入无限循环

  12. 12

    查找和移动文件而不会覆盖并带有输出

  13. 13

    使用 Python 3 在 CSV 文件中的子文件夹/TXT 中查找和替换

  14. 14

    在 Powershell 中创建带有日期和时间戳的文件

  15. 15

    上载CSV文件和带有标题作为列名的数据

  16. 16

    来自 csv 文件的带有 html 和 javascript 的表格

  17. 17

    如何在Notepad ++的末尾查找和替换带有编号的名称?

  18. 18

    Excel VBA查找和替换带有循环的字符串中的文本

  19. 19

    在Powershell中为.dat文件保存查找和替换文本功能

  20. 20

    带有Powershell的批次重命名-需要查找并与csv中的标题匹配file_id

  21. 21

    在2个CSV文件C#之间查找和替换记录

  22. 22

    使用 bash 查找和替换一个 csv 文件中的条目

  23. 23

    查找和替换文件夹中的所有文件名-PHPStorm / WebStorm

  24. 24

    从大文件中查找和替换

  25. 25

    在文件中查找和替换文本

  26. 26

    解锁Xcode项目文件以查找和替换

  27. 27

    查找和替换文件行

  28. 28

    从大文件中查找和替换

  29. 29

    用Powershell替换CSV文件标题行

热门标签

归档