-ConnectionUri ошибка параметра при удаленном сеансе, пытающемся передать сообщение компьютеру в сети - PullRequest
0 голосов
/ 28 марта 2019

В настоящее время я пытаюсь создать приложение на основе IIS с asp.net и C #, которое будет служить системой оповещения о том, что кто-то здесь, чтобы увидеть кого-то на нашей стойке регистрации, чтобы нам не пришлось преследовать их. Я продолжаю получать сообщение об ошибке «Одно или несколько имен компьютеров недопустимы. Если вы пытаетесь передать URI, используйте параметр -ConnectionUri или передайте объекты URI вместо строк» ​​в отладчике для Visual Studio.

Я пытался использовать учетные данные, думая, что это разрешение на удаленную проблему, я пытался сделать его переменной, как показано ниже. Я попытался использовать string.format и подумал, что он может не соответствовать типу.

Переменная для ComputerName - это просто базовое имя компьютера, которому компьютер присвоен, а не полное имя компьютера, которое будет пытаться выполнить следующее.

var ComputerName = c.Attribute("CN");

InitialSessionState initial = InitialSessionState.CreateDefault();
Runspace runspace = RunspaceFactory.CreateRunspace(initial);
runspace.Open();
PowerShell ps = PowerShell.Create();
ps.Runspace = runspace;
ps.AddCommand("invoke-command"); 
ps.AddParameter("ComputerName", ComputerName);
ScriptBlock calldown = ScriptBlock.Create("Get-childitem C:\\windows");
ps.AddParameter("ScriptBlock", calldown);

foreach (PSObject obj in ps.Invoke()){
string message = string.Format("You currently have a client waiting for you at the front desk, please check the lobby system to find out more");
string title = string.Format ("Lobby Alert");

MessageBox.Show(message, title);
}

Результатом должно быть окно сообщения на заднем компьютере, который не является пользователем "frontdesk".

1 Ответ

0 голосов
/ 29 марта 2019

Решено с помощью объекта значения вместо этого, поскольку он регистрируется как строка типа для прохождения этой ошибки, теперь имеет другую проблему, но это не связано с Powershell, поэтому я публикую более точный вопрос в разделе C # для этой ошибки. Я имею.

var ComputerName = c.Attribute("CN");

InitialSessionState initial = InitialSessionState.CreateDefault();
Runspace runspace = RunspaceFactory.CreateRunspace(initial);
runspace.Open();
PowerShell ps = PowerShell.Create();
ps.Runspace = runspace;
ps.AddCommand("invoke-command"); 
ps.AddParameter("ComputerName", ComputerName.Value);
ScriptBlock calldown = ScriptBlock.Create("Get-childitem C:\\windows");
ps.AddParameter("ScriptBlock", calldown);

foreach (PSObject obj in ps.Invoke()){
string message = string.Format("You currently have a client waiting for you at the 
front desk, please check the lobby system to find out more");
string title = string.Format ("Lobby Alert");

MessageBox.Show(message, title);}
...