コード例 #1
0
        /// <summary>
        /// InitServerNodeConfiguration2012 method implementation
        /// </summary>
        private string InitServerNodeConfiguration2012(RegistryVersion reg)
        {
            string     nodetype     = string.Empty;
            Runspace   SPRunSpace   = null;
            PowerShell SPPowerShell = null;

            try
            {
                RunspaceConfiguration SPRunConfig = RunspaceConfiguration.Create();
                SPRunSpace            = RunspaceFactory.CreateRunspace(SPRunConfig);
                SPPowerShell          = PowerShell.Create();
                SPPowerShell.Runspace = SPRunSpace;
                SPRunSpace.Open();

                Pipeline pipeline  = SPRunSpace.CreatePipeline();
                Command  exportcmd = new Command("(Get-AdfsSyncProperties).Role", true);
                pipeline.Commands.Add(exportcmd);

                Collection <PSObject> PSOutput = pipeline.Invoke();
                foreach (var prop in PSOutput)
                {
                    nodetype = prop.BaseObject.ToString();
                    break;
                }
            }
            finally
            {
                if (SPRunSpace != null)
                {
                    SPRunSpace.Close();
                }
            }

            string result = reg.VersionAsString();

            result += "|";
            result += Dns.GetHostEntry("LocalHost").HostName + ";";
            result += "1;";
            result += new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, DateTime.Now.Hour, DateTime.Now.Minute, 0, DateTimeKind.Local) + ";";
            result += nodetype + ";";
            return(result);
        }
コード例 #2
0
        /// <summary>
        /// InitServerNodeConfiguration2019 method implementation
        /// </summary>
        private string InitServerNodeConfiguration2019(RegistryVersion reg)
        {
            string     result       = string.Empty;
            Runspace   SPRunSpace   = null;
            PowerShell SPPowerShell = null;

            try
            {
                RunspaceConfiguration SPRunConfig = RunspaceConfiguration.Create();
                SPRunSpace            = RunspaceFactory.CreateRunspace(SPRunConfig);
                SPPowerShell          = PowerShell.Create();
                SPPowerShell.Runspace = SPRunSpace;
                SPRunSpace.Open();

                Pipeline pipeline  = SPRunSpace.CreatePipeline();
                Command  exportcmd = new Command("(Get-AdfsFarmInformation).FarmNodes", true);

                pipeline.Commands.Add(exportcmd);

                Collection <PSObject> PSOutput = pipeline.Invoke();
                foreach (var item in PSOutput)
                {
                    result  = reg.VersionAsString();
                    result += "|";
                    result += item.Members["FQDN"].Value.ToString() + ";";
                    result += item.Members["BehaviorLevel"].Value.ToString() + ";";
                    result += item.Members["HeartbeatTimeStamp"].Value.ToString() + ";";
                    result += item.Members["NodeType"].Value.ToString() + ";";
                }
            }
            finally
            {
                if (SPRunSpace != null)
                {
                    SPRunSpace.Close();
                }
            }
            return(result);
        }