8
Windows tabanlı bir kümeyi C# başlatmaya/durdurmaya çalışıyorum, aşağıda çalıştığım kod şu şekildedir ... TakeOffLine işlevine ulaştığımda aşağıdaki "Bir" Bulunamadı System.Management.ManagementStatus.NotFound öğesinden istisna. Tam olarak bulunmadığından emin değil misiniz? Bunu yapmanın bir (alternatif) daha iyi yolu varsa lütfen bana bildirin.C kümesinden bir pencere kümesini yönetme #
Teşekkürler!
using System.Management;
class App
{
public static void Main()
{
string clusterName = "clusterHex"; // cluster alias
string custerGroupResource = "clusterHex.internal.com"; // Cluster group name
ConnectionOptions options = new ConnectionOptions();
options.Authentication = System.Management.AuthenticationLevel.PacketPrivacy;
// Connect with the mscluster WMI namespace on the cluster named "MyCluster"
ManagementScope s = new ManagementScope("\\\\" + clusterName +
"\\root\\mscluster", options);
ManagementPath p = new ManagementPath("Mscluster_Clustergroup.Name='" + custerGroupResource + "'");
using (ManagementObject clrg = new ManagementObject(s, p, null))
{
// Take clustergroup off line and read its status property when done
TakeOffLine(clrg);
clrg.Get();
Console.WriteLine(clrg["Status"]);
System.Threading.Thread.Sleep(3000); // Sleep for a while
// Bring back online and get status.
BringOnLine(clrg);
clrg.Get();
Console.WriteLine(clrg["Status"]);
}
}
static void TakeOffLine(ManagementObject resourceGroup)
{
ManagementBaseObject outParams =
resourceGroup.InvokeMethod("Takeoffline", null, null);
}
static void BringOnLine(ManagementObject resourceGroup)
{
ManagementBaseObject outParams =
resourceGroup.InvokeMethod("Takeoffline", null, null);
}
}
yerine Powershell cmdlet'lerinizi kullanmanın yolu yok göre
TakeOffline
kullanmak zorunda? –Hem TakeOffline hem de BringOnLine'in Takeoffline'ı çektiğini fark ettiniz. –