/// <summary> /// Runs powershell <see cref="PSScript"/> /// </summary> /// <param name="script"></param> public static async Task <ScriptOutput> ExecuteScriptAsync(PSScript script) { return(await ExecuteScriptFileAsync(script.Path, script.Parameters.ToDictionary(), script.WorkingDirectory)); }
public static void LoadConfiguration() { string fullFileName = Path.Combine(Assembly.GetExecutingAssembly().Location, fileName); if (!LocalConfig) { fullFileName = Path.Combine(GetLocalStoragePath(), fileName); } if (File.Exists(fullFileName)) { try { XmlDocument doc = new XmlDocument(); doc.Load(fullFileName); LoadFarmList(doc); buildNotifications.Clear(); foreach (XmlNode node in doc.GetElementsByTagName("buildNotifications")) { if (node != null) { foreach (XmlNode bnNode in node.ChildNodes) { BuildNotification bn = (BuildNotification)SmartCCNetHelper.GetSerializedObject(bnNode.InnerText); BuildNotificationViewInfo bnvi = new BuildNotificationViewInfo(bn); bnvi.Read = true; buildNotifications.Add(bnvi); } } } trackedProjects.Clear(); foreach (XmlNode node in doc.GetElementsByTagName("trackedProject")) { if (node.ParentNode != null && node.ParentNode.Name == "trackedProjects") { ProjectShortInfo info = new ProjectShortInfo(); foreach (XmlAttribute attr in node.Attributes) { switch (attr.Name) { case "name": info.Name = attr.Value; break; case "status": info.BuildStatus = attr.Value; break; } } trackedProjects.Add(info); } } powerShellScripts.Clear(); foreach (XmlNode node in doc.GetElementsByTagName("PowerShellScript")) { if (node != null) { foreach (XmlNode scriptNode in node.ChildNodes) { PSScript script = (PSScript)SmartCCNetHelper.GetSerializedObject(scriptNode.InnerText); powerShellScripts.Add(script); } } } UsePowerShellScript = LoadBoolean(doc, "UsePowerShellScript", false); LoadLayoutAndGrid(doc); gridNotificationsXml = LoadString(doc, "gridNotificationsXml", string.Empty); alwaysOnTop = LoadBoolean(doc, "alwaysOnTop", defaultAlwaysOnTop); minimized = LoadBoolean(doc, "minimized", defaultMinimized); formWidth = LoadInt(doc, "formWidth", defaultFormWidth); formHeight = LoadInt(doc, "formHeight", defaultFormHeight); formLeft = LoadInt(doc, "formLeft", defaultFormLeft); formTop = LoadInt(doc, "formTop", defaultFormTop); refreshTime = LoadInt(doc, "refreshTime", defaultRefreshTime); LoadUpdateUrl(doc); workUserName = LoadString(doc, "workUserName", string.Empty); if (string.IsNullOrEmpty(workUserName)) { workUserName = defaultUserName; } useSkin = LoadBoolean(doc, "useSkin", defaultUseSkin); needAskForStutup = LoadBoolean(doc, "needAskForStutup", true); alreadyReloadGridTestsLayout = LoadBoolean(doc, "alreadyReloadGridTestsLayout", defaultAlreadyReloadGridTestsLayout); skinName = LoadString(doc, "skinName", defaultSkinName); popupHideTimeout = LoadInt(doc, "popupHideTimeout", defaultPopupHideTimeout); string tempString; if (TryLoadString(doc, "volunteerColorString", out tempString)) { VolunteerColorString = tempString; } else { LoadDefaultVolunteerColors(); } byte[] lastProjectDurationDictionaryData = LoadBase64(doc, "lastProjectDurationDictionary", null); ProjectInfo.LoadLastBuildDurationDict(lastProjectDurationDictionaryData); } catch (Exception exc) { Log.Error("exception", exc); LoadDefaultConfiguration(); } } else { LoadDefaultConfiguration(); } DXCCTrayConfiguration.CanSetConfig = false; }
/// <summary> /// Runs powershell <see cref="PSScript"/> /// </summary> /// <param name="script"></param> public static ScriptOutput ExecuteScript(PSScript script) { return(ExecuteScriptFile(script.Path, script.Parameters.ToDictionary(), script.WorkingDirectory)); }