2016-03-23 8 views
1

Şu anda yönetici pencereleri hesabımla manüel olarak bağlanır ve bu kodu çalıştırırsam, düzgün çalışır, ancak yönetici kimlik bilgilerine sahip olmayan biri varsa, "enable-mailbox çalışmıyor çünkü çalışmaz biraz araştırma yaptım. veritabanını bulup o izinlere sahip olmadığı için öyle. kullanıcı adı ve şifreyi ??powershell'i başka bir kullanıcı olarak nasıl başlatılır

PowerShell powershell = PowerShell.Create(); 
      PSSnapInException ex; 
      powershell.Runspace.RunspaceConfiguration.AddPSSnapIn(
       "Microsoft.Exchange.Management.PowerShell.Admin", out ex); 
      if (ex != null) 
       throw ex; 
      powershell.AddScript(". $env:ExchangeInstallPath\\bin\\RemoteExchange.ps1"); 
      powershell.AddScript("Connect-ExchangeServer -auto"); 
      powershell.Invoke(); 
      powershell.Streams.ClearStreams(); 
      powershell.Commands.Clear(); 
      powershell.AddCommand("Enable-Mailbox"); 
      powershell.AddParameter("Identity", "username"); 
      powershell.AddParameter("Database", @"databasePath"); 
      var result = powershell.Invoke(); 
sağlayan başka bir kullanıcı olarak bu kodu çalıştırmak için herhangi bir yolu var mı

cevap

0
$user = 'xxxxx' 
$PlainPassword = 'xxxxx' 
$SecurePassword = $PlainPassword | ConvertTo-SecureString -AsPlainText -Force 
$cred = New-Object System.Management.Automation.PSCredential -ArgumentList $User, $SecurePassword 

kullanabilirsiniz kullanıcı bağlamından bir şey başlatmak için kullanılabilecek kullanıcı kimlik bilgisi değişkeni oluşturmak için bu gibi bir kod Ayrıca kullanıcı için de isteyebilirsiniz Okuyucu ile ssword.

+0

doğrudan powershell konumunda mı? Bu kodu C# – spnshguy

+0

Evet, bu doğrudan powershell içinde nasıl koyacağını biliyor musun. Ne yazık ki, C# bölümü hakkında habersizim. Ancak kodunuz powershell komutları (emin değilim) yaparsanız, powershell.AddCommand (xxxx) gibi bir şey deneyebilirsiniz? – 4c74356b41

+0

Lütfen kimlik bilgilerini istemek için Read-Host'u kullanmayın. 'Get-Kimlik Bilgilerini' kullanın. –