none
批量创建邮箱的.csv RRS feed

答案

  • 您好,

    首先您需要知道,使用脚本批量创建的限制:

    1.所有用户都是使用相同的初始密码。

    2. New—Mailbox命令必须的参数:Name,Password,UserPrincipalName

    所以您需要创建一个“待创建用户”的.CSV文件,类似于:

    之后就可以使用以下命令来批量创建用户:

    $Password=Read-Host "Enter Password" –AsSecureString
    Import-CSV c:/temp/infor.csv | ForEach {New-Mailbox -Name $_.name -userPrincipalName $_.userPrincipalName -OrganizationalUnit $_.OrganizationalUnit -Password $Password -ResetPasswordOnNextLogon $true}

    此致,

    Kyle Xu


    如果以上回复对您有所帮助,建议您将其“标记为答复”. 如果您对我们的论坛支持有任何的建议,可以通过此邮箱联系我们:tnsf@microsoft.com.

    • 已标记为答案 DJxiaoxin 2019年3月12日 3:21
    2019年3月11日 5:12
    版主
  • 您好,

    并不行,为了安全考虑,创建邮箱的时候只接收密文的密码(从屏幕密文传入),如果您从CSV文件中获取密码值(明文),那是New-Mailbox命令不接受的方式,所以会有此报错。

    如果您想要加在里面您可以使用以下脚本:

    Import-CSV c:/temp/infor.csv |
    ForEach{
    $Password=Read-Host "Enter Password for " $_.name –AsSecureString
    New-Mailbox -Name $_.name -userPrincipalName $_.userPrincipalName -OrganizationalUnit $_.OrganizationalUnit -Password $Password

    我个人不推荐您使用该方式,因为每创建一个用户就需要输入一次密码,批量的操作就没什么意义了:

    实际上您无需担心第一个脚本中所有用户使用相同的密码,因为它只是一个临时的初始密码,第一个脚本中的该参数强制用户下一次登录需要修改自己的密码:

    -ResetPasswordOnNextLogon $true

    此致,

    Kyle Xu


    如果以上回复对您有所帮助,建议您将其“标记为答复”. 如果您对我们的论坛支持有任何的建议,可以通过此邮箱联系我们:tnsf@microsoft.com.

    • 已标记为答案 DJxiaoxin 2019年3月12日 8:40
    2019年3月12日 8:35
    版主

全部回复

  • 您好,

    首先您需要知道,使用脚本批量创建的限制:

    1.所有用户都是使用相同的初始密码。

    2. New—Mailbox命令必须的参数:Name,Password,UserPrincipalName

    所以您需要创建一个“待创建用户”的.CSV文件,类似于:

    之后就可以使用以下命令来批量创建用户:

    $Password=Read-Host "Enter Password" –AsSecureString
    Import-CSV c:/temp/infor.csv | ForEach {New-Mailbox -Name $_.name -userPrincipalName $_.userPrincipalName -OrganizationalUnit $_.OrganizationalUnit -Password $Password -ResetPasswordOnNextLogon $true}

    此致,

    Kyle Xu


    如果以上回复对您有所帮助,建议您将其“标记为答复”. 如果您对我们的论坛支持有任何的建议,可以通过此邮箱联系我们:tnsf@microsoft.com.

    • 已标记为答案 DJxiaoxin 2019年3月12日 3:21
    2019年3月11日 5:12
    版主
  • 您好:

    是否可以直接在infor.csv中写入Password

    无法处理对参数“Password”的参数转换。无法将“System.String”类型的“anbang@5488”值转换为“System.Security.SecureStrin
    g”类型。
        + CategoryInfo          : InvalidData: (:) [New-Mailbox], ParameterBindin...mationException
        + FullyQualifiedErrorId : ParameterArgumentTransformationError,New-Mailbox

    无法处理对参数“Password”的参数转换。无法将“System.String”类型的“anbang@1556”值转换为“System.Security.SecureStrin
    g”类型。
        + CategoryInfo          : InvalidData: (:) [New-Mailbox], ParameterBindin...mationException
        + FullyQualifiedErrorId : ParameterArgumentTransformationError,New-Mailbox

    尝试写入后,提示以上报错,无法写入Password

    2019年3月12日 5:55
  • 您好,

    并不行,为了安全考虑,创建邮箱的时候只接收密文的密码(从屏幕密文传入),如果您从CSV文件中获取密码值(明文),那是New-Mailbox命令不接受的方式,所以会有此报错。

    如果您想要加在里面您可以使用以下脚本:

    Import-CSV c:/temp/infor.csv |
    ForEach{
    $Password=Read-Host "Enter Password for " $_.name –AsSecureString
    New-Mailbox -Name $_.name -userPrincipalName $_.userPrincipalName -OrganizationalUnit $_.OrganizationalUnit -Password $Password

    我个人不推荐您使用该方式,因为每创建一个用户就需要输入一次密码,批量的操作就没什么意义了:

    实际上您无需担心第一个脚本中所有用户使用相同的密码,因为它只是一个临时的初始密码,第一个脚本中的该参数强制用户下一次登录需要修改自己的密码:

    -ResetPasswordOnNextLogon $true

    此致,

    Kyle Xu


    如果以上回复对您有所帮助,建议您将其“标记为答复”. 如果您对我们的论坛支持有任何的建议,可以通过此邮箱联系我们:tnsf@microsoft.com.

    • 已标记为答案 DJxiaoxin 2019年3月12日 8:40
    2019年3月12日 8:35
    版主
  • 您好:

    如何添加  登陆账号、公司、部门、职务等更多的参数。

    2019年3月27日 3:23
  • 您好,

    这一个是New-Mailbox命令中所有可以使用的命令。

    您只需要在导入的CSV中添加相应的条目,并在脚本中添加相应的参数即可。

    此致,

    Kyle Xu


    如果以上回复对您有所帮助,建议您将其“标记为答复”. 如果您对我们的论坛支持有任何的建议,可以通过此邮箱联系我们:tnsf@microsoft.com.

    2019年3月27日 6:28
    版主
  • 登陆账号、公司、部门、职务的参数添加后未生效

    sAMAccountName

    company

    department

    title

    2019年3月27日 7:56
  • 只有”-SamAccountName“是可以支持的的参数,其它的参数并不能在New-Mailbox命令中使用:

    此致,

    Kyle Xu


    如果以上回复对您有所帮助,建议您将其“标记为答复”. 如果您对我们的论坛支持有任何的建议,可以通过此邮箱联系我们:tnsf@microsoft.com.

    2019年3月27日 8:39
    版主