【发布时间】:2017-06-11 20:19:58
【问题描述】:
我设置了以下脚本,它按预期工作....除了电子邮件中带有撇号的用户。
$users = get-content C:\Filename.csv
$results = Foreach ($user in $users)
{
get-aduser -filter "EmailAddress -like '$user'" -properties CanonicalName,LastLogon,Name |
select Name,@{N="Thing";E={$_.DistinguishedName.Split(',')[-4]}},@{N="Place";E={$_.DistinguishedName.Split(',')[-5]}},@{N="Last Logon";E `
={[DateTime]::FromFileTime($_.Lastlogon)}}
}
$results | Export-Csv C:Filename.csv -NoTypeInformation
有人知道如何在example_o'connor@example.com 之类的电子邮件中转义撇号吗?每当我运行上述脚本时,它总是会在上述电子邮件地址上出错。
编辑:我的 csv 文件是一列没有标题的电子邮件地址。
编辑2:很抱歉浪费大家的时间。原来脚本工作正常,以及这个线程中的一些建议,例如在我的变量周围添加“”“”,但我正在测试一个并非所有值都正确的列表,所以这是我的错.谢谢大家的时间。
【问题讨论】:
-
谷歌搜索“get-aduser Escape apostrophes”显示了几个相关的答案,例如Get-Aduser -Filter will not accept a variable 即
"EmailAddress -like ""$user"" " -
您好,感谢您的回复。在发布关于我的撇号问题之前,我已经查看了其他论坛。我也尝试了其他解决方案。您在帖子中提供的链接虽然不处理撇号,但我遇到了他们之前遇到的问题,并找到了与第一篇帖子中编辑的相同解决方案作为答案,这确实解决了我最初的问题。尽管脚本无法解析撇号,但我仍然遇到问题。
标签: powershell