Привет Я бегу код ниже, чтобы обновить информацию о пользователе в ADCSV Импорт Powershell -
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 как
TITLE, KNOWNAS, ФАМИЛИЯ, ИНИЦИАЛЫ, DIVISION, DEPARTMENTCODE, COMPANYREFNO, WORKTELEPHO NE, MOBILETELEPHONE, WORKPHONESHORTCODE, EMAILPRIMARY, FAX, УЛИЦА , TOWNCITY, POSTZIPCOD E, COUNTRY, COMPANYNAME, REPORTSTOEMAIL, ACTUALOFFICE, DeptName, Office, COUNTRY2, COUNTR Y3 Mr, Peter, Smith, P, Executive, IT, PL, + 44 (0) 1234 567 890 ,,, user1 @ testdomain.co.uk, + 44 (0) 1234 567 890, Road, London, QWER, Великобритания, КОМПАНИЯ, j.smith, OfficeName, Computers, Город, GB, 826
Заранее спасибо
Я попробовал код но я все еще получаю странный характер в AD, когда поле должно быть пустым в AD. Проблема, похоже, связана с $ fax = $ null. Для null, почему он помещает этот странный символ - – user3770745
Я настоятельно рекомендую использовать синтаксис 'foreach ($ _ in $ Users)'. '$ _' - зарезервированная переменная. Если вы хотите использовать его, я рекомендую использовать командлет forEach-Object ('$ Users | ForEach-Object {[...]}') вместо инструкции foreach. –