Проверьте, является ли сервер частью кластера Azure, используя C# и PowerShellC#

Место общения программистов C#
Ответить
Anonymous
 Проверьте, является ли сервер частью кластера Azure, используя C# и PowerShell

Сообщение Anonymous »

Я тестирую какой -то код, чтобы проверить, является ли именованным сервером частью кластера Azure. В настоящее время у меня есть простое консольное приложение, где пользователь вводит имя сервера, чтобы проверить, и код вызывает код < /p>
private static bool IsCluster(string ServerName)
{
try
{
var Command = new StringBuilder();

Command.Append("Get-ClusterResource | Where-Object { $_.Name -like \"SQL Network Name*\" } ");
Command.Append(" | Get-ClusterParameter -Name 'DNSName' | ");
Command.Append(" Select-Object -ExpandProperty Value");

Console.WriteLine($"PowerShell command is:");
Console.WriteLine(Command);

using (PowerShell PowerShellInstance = PowerShell.Create())
{
// Add the PowerShell script
PowerShellInstance.AddScript(Command.ToString());

ServerName = new string(ServerName.Where(X => !char.IsControl(X)).ToArray());
Console.WriteLine($"Cleaned Name is {ServerName}");

Console.WriteLine($"Checking is {ServerName} is part of a cluster");

// Execute the script
var PsOutput = PowerShellInstance.Invoke();

// Process the output
foreach (PSObject OutputItem in PsOutput)
{
if (OutputItem != null)
{
Console.WriteLine(OutputItem.ToString());

if (OutputItem.ToString().IndexOf(ServerName.Trim(), StringComparison.Ordinal) != -1)
{
Console.WriteLine($"{ServerName} is part of a cluster");
return true;
}
}
}

Console.WriteLine($"{ServerName} is not part of a cluster");
return false;
}
}
< /code>
Но это всегда возвращает false, даже при запуске на сервере в кластере и дает его имя. Есть идеи, что я делаю не так?
спасибо

Подробнее здесь: https://stackoverflow.com/questions/797 ... powershell
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»