使用WMIC

时间:2015-07-02 18:53:57

标签: powershell-v2.0 exchange-server-2010 wmic

通常,我尝试使用wmic远程在Exchange Server 2010上创建邮箱。我有以下环境设置:

系统不在同一个域中 系统1(从我执行的地方):运行Windows 7 x64
系统2(带有Exchange的目标系统):运行Windows Server 2008 R2。我有名为addmailbox.ps1的PowerShell脚本:


$secure_pwsd = convertto-securestring TESTPASSWORD -asplaintext -force
New-Mailbox -UserPrincipalName TESTMAILBOX@MYDOMAIN.com -Alias SOMEALIAS -Name SOMENAME -OrganizationalUnit Users -Password $secure_pwsd -FirstName SOMEFIRSTNAME -LastName SOMELASTNAME -DisplayName "LASTNAME FIRSTNAME" -ResetPasswordOnNextLogon $false
exit

如果我从系统2本地运行脚本它工作正常,邮箱按预期创建,所以我尝试从系统1远程运行它


wmic /node:IP /user:DOMAIN\Administrator /password:PASS process call create 'powershell.exe -command ". 'C:\Program Files\Microsoft\Exchange Server\V14\Bin\RemoteExchange.ps1'; Connect-ExchangeServer -auto; C:\scripts\addmailbox.ps1"'

WMIC报告已成功创建远程进程。在任务管理器中的系统2上,我可以看到进程正在运行,并且还生成了子PowerShell进程,但两个进程都没有完成。我想PowerShell等待用户输入或其他什么。为了测试,我添加了密钥" -noninteractive"执行命令并捕获以下错误

VERBOSE: Connecting to HOSTNAME [HOSTNAME] Connecting to remote server failed with the following error message : A specified logon session does not exist. It may already have been terminated. For more information, see the about_Remote_Troubleshooting Help topic. + CategoryInfo : OpenError: (System.Manageme....RemoteRunspace:RemoteRunspace) [], PSRemotingTransportExc eption + FullyQualifiedErrorId : PSSessionOpenFailed Failed to connect to any Exchange Server in the current site. Read-Host : Windows PowerShell is in NonInteractive mode. Read and Prompt functionality is not available. At C:\Program Files\Microsoft\Exchange Server\V14\bin\ConnectFunctions.ps1:47 char:18 + $fqdn=read-host <<<< -prompt "Please enter the Server FQDN where you want to connect" + CategoryInfo : InvalidOperation: (:) [Read-Host], PSInvalidOperationException + FullyQualifiedErrorId : InvalidOperation,Microsoft.PowerShell.Commands.ReadHostCommand

VERBOSE: Connecting to New-PSSession : Cannot bind parameter 'ConnectionUri'. Cannot convert value "http:///powershell?serializationLevel=Full " to type "System.Uri". Error: "Invalid URI: The hostname could not be parsed." At C:\Program Files\Microsoft\Exchange Server\V14\bin\ConnectFunctions.ps1:229 char:43 + $session = new-pssession -connectionURI <<<< "http://$fqdn/powershell?serializationLevel=Full" -ConfigurationName Microsoft.Exchange -SessionOption $so #-erroraction silentlycontinue + CategoryInfo : InvalidArgument: (:) [New-PSSession], ParameterBindingException + FullyQualifiedErrorId : CannotConvertArgumentNoMessage,Microsoft.PowerShell.Commands.NewPSSessionCommand

The term 'New-Mailbox' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again. At C:\scripts\addmailbox.ps1:3 char:12 + New-Mailbox <<<< -UserPrincipalName TESTMAILBOX@MYDOMAIN.com -Alias SOMEALIAS -Name SOMENAME -OrganizationalUnit Users -Password $secure_pwsd -FirstName SOMEFIRSTNAME -LastName SOMELASTNAME -DisplayName "LASTNAME FIRSTNAME" -ResetPasswordOnNextLogon $false + CategoryInfo : ObjectNotFound: (New-Mailbox:String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException

我再说一遍,这些命令在System 2本地工作正常。在PS脚本文件中直接指定FDQN并不能解决问题。请不要建议使用PsExec而不是WMIC或使用PowerShells建立远程连接。谢谢你的建议!

0 个答案:

没有答案