Я признаю, что я - PowerShell n00b, но мне нужно создать в рекламе 12k контактов с поддержкой почты на основе информации ldap из директории novell. я пытался манипулировать следующим кодом, чтобы удовлетворить потребности, но я застрял, пытаясь разделить атрибут «mail» объекта пользователя:
$gwise = "GWISE"
$comma = ","
$dot = "."
$space = " "
$gwcontacts = "C`:\Windows\System32\adfind.exe `-hh nds.groupwise.local `-simple `-s subtree `-nodn `-csv empty `-csvnoq `-b `"OU`=people,OU`=GroupWise,O`=local`" `-f mail=* mail givenName sn | findstr /i /c`:`"@`" | sort" | cmd | ConvertFrom-Csv -UseCulture -Header $header
alisdair показала мне, как сделать замену в powershell, но теперь я испытываю трудности с выяснением, как разобрать атрибут mail, чтобы я мог использовать только строку слева от символа @:
$gwcontacts | ForEach-Object { New-MailContact -Name ($_.mail.split('@') + $dot + $gwise) -Alias ($_.mail.split('@')) -DisplayName ($_.sn + $comma + $space+ $_.givenName) -ExternalEmailAddress ($_.mail.Replace('GroupWise.local','example.com')) -FirstName $_.givenName -LastName $_.sn -OrganizationalUnit 'exchange.local/contacts' -PrimarySmtpAddress ($_.mail.replace('GroupWise.local','example.com')) }
Invoke-Command: невозможно связать параметр 'Alias' с целью. Параметр исключения «Псевдоним»: «Выражение свойства« TESTUSER GroupWise.local »недопустимо. Допустимые значения: строки, образованные символами от A до Z (прописными или строчными буквами), цифры от 0 до 9,!, #, $, %, &, ', *, +, -, /, =,?, ^, _, , {, |, } or ~. One or more periods may be embedded in an alias, but each period should be preceded and followed by at least one of the other characters. Unicode characters from U+00A1 to U+00FF are also valid in an alias, but they will be mapped to a best-fit US-ASCII string in the e-mail address, which is generated from such an alias."
At C:\Users\Administrator\AppData\Roaming\Microsoft\Exchange\RemotePowerShell\ems.exchange.local\ems.exchange.local.psm1:28521 char:29
+ $scriptCmd = { & <<<< $script:InvokeCommand
+ CategoryInfo: WriteError: (:) [New-MailContact], ParameterBindingException
+ FullyQualifiedErrorId: ParameterBindingFailed, Microsoft.Exchange.Management.RecipientTasks.NewMailContact
Я знаю, что мой синтаксис разделения неверен ... но я потерян. любая помощь приветствуется!