powershell2.0 使用脚本建立exchange2010的用户帐号及邮箱

来源:互联网 发布:我的世界java安装 编辑:程序博客网 时间:2024/04/30 08:12

建立一个PowerShell脚本文件ManagementUser.ps1

代码:

#设置接收的参数

param([string] $what,[string] $user,[string] $pwd)

#建立一个用户

function script:AddUser_ps($user,$pwd)
{
    $spwd = ConvertTo-SecureString $pwd -AsPlainText -Force
    import-module activedirectory
    try
    {
         New-ADUser -Name $user -SamAccountName "test1" -UserPrincipalName $user"@test.com.cn" -GivenName "test1" -DisplayName "测试一" -path "ou=group1,dc=test,dc=com,dc=cn" -AccountPassword $spwd -Enabled $true -CannotChangePassword $false -ChangePasswordAtLogon $false -EmailAddress "
test1@test.com.cn" -PasswordNeverExpires $true
         EnableMailBox $user
         return "增加用户:" + $user +"成功。"
     }
     catch
     {   $r =  EnableMailBox $user    
         return "出现错误,错误原因:"+$error[0] + $r
     }
}

#启用邮箱

function EnableMailBox($user)
{
   try {

#建立远程连接
        $a =  'test.com.cn/group1/'+$user
        $Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri
http://test.com.cn/PowerShell -Authentication Kerberos
        Import-PSSession $Session

#使邮箱启用
        Enable-mailbox -Identity $a -Alias $user
        Remove-PSSession $Session
        return "邮箱已经可用。"
   }
   catch
   {
       return $error[0]
   }
}

#删除用户

function script:RemoveUser_ps($user)
{ #import-module activedirectory
  try
  {
      Remove-ADUser $user -confirm:$false
      return "删除帐号: $user ,成功。"
  }
  catch
  {  return "出现错误,错误原因:"+$error[0] }
}

#判断执行

$script:result=""

switch($what)
{
   "removeuser" {  $result = RemoveUser_ps $user  }
   "adduser"    {  $result = AddUser_ps $user $pwd }
     default    {$result = "不识别参数。"}
}
write-host $result

 

打开powershell2.0控制台

建立一个test1用户,并启用邮箱

输入.\ManagementUser.ps1 -what "adduser" -user "test1" -pwd "test-1"

删除用户test1

输入.\ManagementUser.ps1 -what "removeuser" -user "test1" -pwd ""

 

不直接使用new-mailbox,是因为没有密码永不过期的参数,而使用AD建立用户可以设置密码永不过期:-PasswordNeverExpires $true

要点:

1、PowerShell要支持ActiveDirectory下的cmdlet,需先使用import-module activedirectory

2、如果ChangePasswordAtLogon设置为$true,则PasswordNeverExpires不能使之为$true

3、Exchange2010不支持本地命令程序,所以需先连接到Exchange2010服务器,如果是使用Exchange Management Shell,则打开控制台后就会连接到服务器上。

 

原创粉丝点击