前几天我发布了这个问题 从分组对象中提取电子邮件
$OuUser = @{}
$OuUser = Get-AdUser -Properties * -Filter * -SearchBase "domain"
$Duplicates = $OuUser | Select samaccountname, mail,UserPrincipalName |
Group-Object Mail | Where{$_.Count -gt 1}
$Duplicates | Select Name,Count,@{l='Accounts';e={($_.Group|Select -Expand samaccountname) -join ';'}} |
Export-CSV E:\Damo\Duplicates.csv -NoTypeInfo
Run Code Online (Sandbox Code Playgroud)
该代码在一个域上工作正常,并针对 OU 中的一小组用户对其进行测试。
在我想测试的域上进行测试时,其中有很多用户,此代码失败。OU 中包含非电子邮件格式的电子邮件地址。它指向 Get-ADUser 的错误。
Get-ADUser : The server has returned the following error: invalid enumeration c
ontext.
At C:\scripts\CountEmailsDup.ps1:4 char:21
+ $OuUser = Get-AdUser <<<< -Properties * -Filter * -SearchBase 'ou=external,o
u=user accounts,dc=bizdir,dc=nzpost,dc=co,dc=nz' -SearchScope OneLevel
+ CategoryInfo …Run Code Online (Sandbox Code Playgroud) 我在这里找到了代码,它可以满足我的需求
$files = gci -filter "*.txt" |select fullname
foreach ($file in $files) {
$filename = $file.fullname
$newFilename = $filename.Replace(".", " ")
rename-item $filename $newFilename
}
Run Code Online (Sandbox Code Playgroud)
我要求代码更改文件名并保留文件扩展名.上面的代码替换"." 用"".我可以对其进行编码以重新命名该文件以添加扩展名.只是想看看是否有更好的方法来做到这一点.
干杯