0

我尝试了一些东西,但没有取得太大的成功。我不想知道这个问题的整个解决方案,但我应该从哪里开始(或者可能已经存在解决方案)?我应该更好地将 excel 文件转换为 CSV 还是 XML?或者我应该在里面放一些 C# 吗?

以下是更多细节:

  1. 邮箱应读取并填写的属性:姓名、姓氏、显示名称、别名、电子邮件(根据姓名和姓氏生成)。
  2. 必须取消选中复选框:“根据电子邮件地址策略自动更新电子邮件地址”
  3. 从具有附加域的名称生成电子邮件(例如:姓名:Dennis,姓氏:Ritchie,电子邮件:Dennis.Ritchie@testdomain.com)。
4

2 回答 2

0

CSV 无疑是最简单的。然后你可以使用

Import-CSV foo.csv

读取文件。如果您在第一行中使用了适当的列标题名称,则可以直接使用它们:

Import-CSV foo.csv | ForEach-Object { $_.Lastname; $_.'Display Name', <# etc. #> }

Enable-Mailbox似乎是创建 Exchange 邮箱的命令。

于 2013-07-09T10:40:18.917 回答
0
$path = "C:\Scripts\05-Script\Contacts.csv"
$Database = "xDB"
$OU = "XUnit/Test"
#$Password = (Get-Credential).Password
$Password = ConvertTo-SecureString "P@ssWord1" -AsPlainText -Force

Import-Csv $path | ForEach-Object   {

    $FirstName = $_."FirstName"
    $LastName = $_."LastName"
    $Alias = $_."Alias"

    $UserPrincipalName = $Alias # +xdomain.com"
    $OtherEmail = $FirstName +"."+ $LastName + "@xdomain.com"
    $DisplayName = $LastName+", "+$FirstName

    New-Mailbox -Alias $Alias `
                -Name $Alias `
                -FirstName $FirstName `
                -LastName $LastName `
                -DisplayName $DisplayName `
                -SamAccountName $Alias  `
                -UserPrincipalName $UserPrincipalName `
                -Database $Database `
                -OrganizationalUnit $OU `
                -Password $Password `
                -ResetPasswordOnNextLogon $false

}
于 2013-07-15T08:54:04.700 回答