Итак, у меня возникла проблема с получением моей функции для создания собственных данных после второго запуска. В первый раз, когда я создаю команду GetUsers, при условии, что мое имя пользователя и пароль верны, он вернет arraylist с моими пользователями. Если я запустил его снова, независимо от того, какое имя пользователя или пароль я использую, он вернет тех же пользователей. Я уверен, что мой код довольно беспорядок, но я возился с ним, пытаясь его очистить.Почему не очистка Powershell?
Что касается небольшого фона, я считаю себя программистом-новичком, поэтому проблема очень хорошо может быть чем-то действительно основным.
Спасибо!
public ArrayList GetUsers(string user, string pass)
{
InitialSessionState iss = InitialSessionState.CreateDefault();
iss.ImportPSModule(new[] { "MSOnline" });
using (Runspace myRunSpace = RunspaceFactory.CreateRunspace(iss))
{
myRunSpace.Open();
using (System.Management.Automation.PowerShell powershell = System.Management.Automation.PowerShell.Create())
{
ArrayList available_users = new ArrayList();
//create Powershell runspace
powershell.Runspace = myRunSpace;
Command connect = new Command("Connect-MsolService");
System.Security.SecureString secureString = new System.Security.SecureString();
string myPassword = pass;
foreach (char c in myPassword)
secureString.AppendChar(c);
connect.Parameters.Add("Credential", new PSCredential(user, secureString));
powershell.Commands.AddCommand(connect);
Collection<PSObject> results = null;
results = powershell.Invoke();
powershell.Commands.Clear();
Command getuser = new Command("Get-MsolUser");
powershell.Commands.AddCommand(getuser);
results = null;
powershell.Stop();
results = powershell.Invoke();
foreach (PSObject item in results)
{
string userprincipalname = item.Properties["UserPrincipalName"].Value as string;
available_users.Add(userprincipalname);
}
powershell.Dispose();
myRunSpace.Dispose();
powershell.Runspace.Dispose();
powershell.Runspace.Close();
myRunSpace.Close();
return available_users;
}
}
}
любое окончательное решение с полным исходным кодом об этом? – Kiquenet