首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >CSV导入Powershell - AD

CSV导入Powershell - AD
EN

Stack Overflow用户
提问于 2015-05-29 05:17:45
回答 2查看 129关注 0票数 2

您好,我正在运行以下代码来更新AD中的用户信息

代码语言:javascript
运行
复制
import-module activedirectory

$Users=Import-CSV C:\UserFeed.csv 

foreach($_ in $Users)
{

if ($_."FAX" -ne $null){
$fax = $_."FAX"
}
else {
$fax = $null
}

if ($_."MOBILETELEPHONE" -ne $null){
$mobile = $_."MOBILETELEPHONE"
}
else {
$mobile = $null
}

if ($_."COUNTRY" -ne $null){
$country = $_."COUNTRY"
}
else {
$country = $null
}

 $Mgr = Get-ADUser -Filter "SamAccountName -like '$($_."REPORTSTOEMAIL")'" |              
Select -ExpandProperty DistinguishedName

Get-ADUser -filter "EmailAddress -like '$($_.EMAILPRIMARY)'" | 
Set-ADUser -Replace @{physicalDeliveryOfficeName=($_."ACTUALOFFICE");Title=             
($_."PERSONALJOBTITLE");department=($_."DeptName");company=  
($_."COMPANYNAME");facsimileTelephoneNumber="$fax";StreetAddress=  
($_."STREET");l=($_."TOWNCITY");postalCode=($_."POSTZIPCODE");Co=$country;C=
($_."COUNTRY2");CountryCode=($_."COUNTRY3");givenName=($_."KNOWNAS");sn=
($_."LASTNAME");telephoneNumber=($_."WORKTELEPHONE");mobile="$mobile
";manager="$Mgr"}
}

问题出在CSV中,用户说没有传真号,字段为空,而不是在传真中什么也不放,而是放入空格字符。如何让它不为该字段设置任何内容。

示例请参见图片http://s22.postimg.org/nsf66ngc1/mobile.jpg

下面是CSV的样子

提前感谢

EN

回答 2

Stack Overflow用户

发布于 2015-05-29 08:18:28

在这种情况下,测试字符串的更好方法是使用string::IsNullOrWhiteSpace()

试试这个:

代码语言:javascript
运行
复制
if ([string]::IsNullOrWhiteSpace($_."FAX"){
    $fax = $null
} else {
    $fax = $_."FAX" 
}
票数 1
EN

Stack Overflow用户

发布于 2015-05-29 05:22:33

代码语言:javascript
运行
复制
if ($_."FAX" -ne $null -and $_."FAX" -ne " "){
$fax = $_."FAX"
}
else {
$fax = $null
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30517249

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档