У меня есть код ниже, используемый для включения пользователя для Lync с помощью команд Power Shell. Код имеет два шага, первый - для включения пользователя, второй - для включения Enterprise Voice.Lync PowerShell: включить пользователя для корпоративного голоса
using (Pipeline pipe = runspace.CreatePipeline())
{
var enableCsUser = new Command("Enable-CsUser");
enableCsUser.Parameters.Add("Identity", upn);
enableCsUser.Parameters.Add("SipAddress", "sip:" + sipAddress);
enableCsUser.Parameters.Add("RegistrarPool", LyncPool);
pipe.Commands.Add(enableCsUser);
InvokePipeline(pipe);
}
using (Pipeline pipe = runspace.CreatePipeline())
{
var setCsUser = new Command("Set-CsUser");
setCsUser.Parameters.Add("Identity", upn);
setCsUser.Parameters.Add("EnterpriseVoiceEnabled", true);
pipe.Commands.Add(setCsUser);
InvokePipeline(pipe);
}
Первая часть работает нормально и пользователь включен. вторая часть выдает исключение в InvokePipeline(pipe);
без ясной причины для меня. Я следил за следующими статьями here, here и here.
Сведения об исключении приведены ниже.
System.Management.Automation.RemoteException: Management object not found for identity "[email protected]".
at System.Management.Automation.PowerShell.CoreInvoke[TOutput](IEnumerable input, PSDataCollection`1 output, PSInvocationSettings settings)
at System.Management.Automation.PowerShell.Invoke(IEnumerable input, PSInvocationSettings settings)
at System.Management.Automation.PowerShell.Invoke(IEnumerable input)
at System.Management.Automation.RemotePipeline.Invoke(IEnumerable input)
at System.Management.Automation.Runspaces.Pipeline.Invoke()
Пропустить что-нибудь?
Я использую следующее: 'ps.AddParameter (« EnterpriseVoiceEnabled »,« $ True »);' который достигает того же. –
OP не говорит, какова его ситуация, но использование «$ true» не будет работать, если вы используете код удаленно (не на сервере Lync). Вы должны использовать определение параметра внутри другого для удаленного выполнения. – BradB