gpt4 book ai didi

powershell - 如何使用Powershell为组织单位中的所有用户替换说明文本

转载 作者:行者123 更新时间:2023-12-03 00:48:25 24 4
gpt4 key购买 nike

我已经使用CSV文件向Active Directory添加了大约1700多个用户。我不小心尝试使用\n在它们之间分隔一些属性。但是它并没有逃脱换行。而是按原样键入它。

$Users = Import-Csv -Path "C:\UsersList.csv"            

foreach ($User in $Users)
{
$Name = $User.Name
$AccountPassword = $User.AccountPassword
$City = $User.City
$Company = $User.Company
$GivenName = $User.GivenName
$SamAccountName = $User.SamAccountName
$Surname = $User.Surname
$UserPrincipalName = $User.UPN
$Displayname = $User.Name
$Description = "Desc1: " + $User.Desc1 + "\nDesc2: " + $User.Desc2 + "\nDesc3: " + $User.Desc3 + "\nDesc4: " + $User.Desc4
$Path = $User.Path


New-ADUser -Name "$Name" -DisplayName "$Displayname" -SamAccountName "$SamAccountName" -UserPrincipalName "$UserPrincipalName" -GivenName "$GivenName" -Surname "$Surname" -Description "$Description" -AccountPassword (ConvertTo-SecureString $AccountPassword -AsPlainText -Force) -Enabled $true -Path "$Path" -ChangePasswordAtLogon $true
}

现在,我想为所有用户更改“说明”中的那些“\ n”。

我可以让用户使用
Get-ADUser -Filter {description -like "\n"}

我需要一个使用 .Replace("\n"," - ")的命令。我不知道如何使用它来达到我的目标。

最佳答案

您可以执行Foreach-Object循环以查找所有带有过滤器的说明,并将其通过管道传递给Set-Aduser。

         $Description = "-Desc1: " + $User.Desc1 + "-Desc2: " + $User.Desc2 + "-Desc3: " + $User.Desc3 + "-Desc4: " + $User.Desc4

foreach ($User in (Get-ADUser -Filter {description -like "*\n*"}) )
{
$User.SamAccountName | Set-ADUser -Description $Description
}

从CSV更新用户
            foreach ($User in $users )
{
$User.SamAccountName | Set-ADUser -Description $user.Description
}

关于powershell - 如何使用Powershell为组织单位中的所有用户替换说明文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36179855/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com