public static void ProcessProvisioningMode(IResultObject resultObject, bool mode) { try { ManagementClass clientaction = new ManagementClass(string.Format(@"\\{0}\root\{1}:{2}", resultObject["Name"].StringValue, "ccm", "SMS_Client")); object[] methodArgs = { "False" }; clientaction.InvokeMethod("SetClientProvisioningMode", methodArgs); clientaction.Dispose(); } catch (ManagementException ex) { ExceptionUtilities.TraceException(ex); SccmExceptionDialog.ShowDialog(SnapIn.Console, ex, "An error occured while invoking WMI method."); } catch (COMException ex) { ExceptionUtilities.TraceException(ex); SccmExceptionDialog.ShowDialog(SnapIn.Console, ex, "An error occured while connecting to host."); } catch (Exception ex) { ExceptionUtilities.TraceException(ex); SccmExceptionDialog.ShowDialog(SnapIn.Console, ex); } }
private void RemoveCachedItems(ListView.SelectedListViewItemCollection items) { foreach (ListViewItem item in items) { try { // get the wmi object ManagementObject managementObject = (ManagementObject)item.Tag; // create location string string str = (managementObject["Location"] as string).Replace(':', '$'); string path = string.Format(@"\\{0}\{1}", PropertyManager["Name"].StringValue, str); // check if cached content exists and we have persmissions to remove it if (Directory.Exists(path) && Utility.CheckFolderPermissions(path, FileSystemRights.Delete)) { // delete folder Directory.Delete(path, true); // remove wmi object managementObject.Delete(); } else { System.Windows.MessageBox.Show(string.Format("Cannot remove item: Access denied", items.Count), "Configuration Manager", MessageBoxButton.OK, MessageBoxImage.Hand); } } catch (Exception ex) { log.Error(string.Format("{0}: {1}", ex.GetType().Name, ex.Message)); SccmExceptionDialog.ShowDialog(SnapIn.Console, ex); } } }
private void BackgroundWorker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) { try { if (e.Error != null) { SccmExceptionDialog.ShowDialog(this, e.Error, "Error"); } else { Initialized = true; } } finally { if (sender as SmsBackgroundWorker == smsBackgroundWorker) { smsBackgroundWorker.Dispose(); smsBackgroundWorker = null; dataGridViewCollections.Sort(columnCollection, ListSortDirection.Ascending); UseWaitCursor = false; labelCount.Text = dataGridViewCollections.Rows.Count.ToString(); } } }
private void BackgroundWorker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) { try { if (e.Error != null) { SccmExceptionDialog.ShowDialog(this, e.Error, "Error"); } else { Initialized = true; } } finally { if (sender as SmsBackgroundWorker == backgroundWorker) { backgroundWorker.Dispose(); backgroundWorker = null; UseWaitCursor = false; dataGridViewUpdates.Sort(columnTitle, ListSortDirection.Ascending); Utility.UpdateDataGridViewColumnsSize(dataGridViewUpdates, columnTitle); } } }
private void BackgroundWorker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) { try { if (e.Error != null) { using (SccmExceptionDialog sccmExceptionDialog = new SccmExceptionDialog(e.Error)) { sccmExceptionDialog.ShowDialog(); } } else if (e.Cancelled) { ConnectionManagerBase.SmsTraceSource.TraceEvent(TraceEventType.Information, 1, "User canceled"); } else { Initialized = true; } } finally { if (sender as SmsBackgroundWorker == backgroundWorker) { backgroundWorker.Dispose(); backgroundWorker = null; dataGridViewApplications.Sort(columnName, ListSortDirection.Ascending); UseWaitCursor = false; } } }
private void BackgroundWorker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) { try { if (e.Error != null) { SccmExceptionDialog.ShowDialog(this, e.Error, "Error"); } else { Initialized = true; } } finally { if (sender as SmsBackgroundWorker == backgroundWorker) { backgroundWorker.Dispose(); backgroundWorker = null; UseWaitCursor = false; listViewCollections.IsLoading = false; listViewCollections.UpdateColumnWidth(columnHeaderCollection); } } }
private void ProgressWorker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) { progressInformationDialog.Result = (bool)e.Result; valiadated = (bool)e.Result; progressInformationDialog.UpdateProgressValue(100); progressInformationDialog.CloseDialog(); try { if (e.Error != null) { using (SccmExceptionDialog sccmExceptionDialog = new SccmExceptionDialog(e.Error)) { sccmExceptionDialog.ShowDialog(); } } } finally { if (sender as BackgroundWorker == progressWorker) { progressWorker.Dispose(); progressWorker = null; UseWaitCursor = false; } } }
private void BackgroundWorkerQueryMachine_QueryProcessorCompleted(object sender, RunWorkerCompletedEventArgs e) { try { if (e.Error != null) { SccmExceptionDialog.ShowDialog(this, e.Error, "Error"); } else if (e.Cancelled) { if (listViewSelectedResources.Items.Count > 0) { listViewSelectedResources.Items[0].Selected = true; listViewSelectedResources.Items[0].Focused = true; } } else if (listViewSelectedResources.Items.Count > 0) { listViewSelectedResources.Items[0].Selected = true; listViewSelectedResources.Items[0].Focused = true; } } finally { backgroundWorkerQueryMachine.Dispose(); backgroundWorkerQueryMachine = null; UseWaitCursor = false; buttonSearch.Focus(); buttonSearch.Text = "Search"; searchCompleteTime = DateTime.Now.Ticks; controlsInspector.InspectAll(); UtilitiesClass.UpdateListViewColumnsSize(listViewSelectedResources, columnMachineName); } }
public static void AddMulitDeviceCollection(object sender, ScopeNode scopeNode, ActionDescription action, IResultObject selectedObject, PropertyDataUpdated dataUpdatedDelegate, Status Status) { try { using (BrowseCollectionDialog collectionDialog = new BrowseCollectionDialog(selectedObject.ConnectionManager)) { collectionDialog.MultiSelect = true; collectionDialog.CollectionType = CollectionType.Device; collectionDialog.CollectionFilter = (collectionResultObject => { if (collectionResultObject["IsReferenceCollection"].BooleanValue || collectionResultObject["IsBuiltIn"].BooleanValue) { return(false); } if (selectedObject.Count > 1) { foreach (IResultObject resultObject in selectedObject) { if (resultObject.ObjectClass == "SMS_Collection" && resultObject["CollectionID"].StringValue == collectionResultObject["CollectionID"].StringValue) { return(false); } } return(true); } return(!(selectedObject.ObjectClass == "SMS_Collection") || !(selectedObject["CollectionID"].StringValue == collectionResultObject["CollectionID"].StringValue)); }); if (collectionDialog.ShowDialog() != DialogResult.OK) { return; } foreach (IResultObject collection in collectionDialog.SelectedCollections) { List <IResultObject> list = new List <IResultObject>(); foreach (IResultObject item in selectedObject) { IResultObject instance = selectedObject.ConnectionManager.CreateEmbeddedObjectInstance("SMS_CollectionRuleDirect"); instance["ResourceClassName"].StringValue = "SMS_R_System"; instance["RuleName"].StringValue = item["Name"].StringValue; instance["ResourceID"].IntegerValue = item["ResourceID"].IntegerValue; list.Add(instance); } collection.ExecuteMethod("AddMembershipRules", new Dictionary <string, object>() { { "collectionRules", list } }); } } } catch (SmsQueryException ex) { SccmExceptionDialog.ShowDialog(SnapIn.Console, ex); } }
private static void ProcessAction(ScopeNode scopeNode, ActionDescription action, IResultObject resultObjects) { bool showProgressDialog = false; if (resultObjects.ObjectClass == "SMS_Collection" || resultObjects.Count > 1) { showProgressDialog = true; } int total = resultObjects.Count; if (resultObjects.ObjectClass == "SMS_Collection") { try { total = 0; string query = string.Format("SELECT * FROM SMS_FullCollectionMembership WHERE CollectionID='{0}'", resultObjects["CollectionID"].StringValue); // query processor does not have count implemented?!?!? foreach (IResultObject tmp in resultObjects.ConnectionManager.QueryProcessor.ExecuteQuery(query)) { total++; } resultObjects = resultObjects.ConnectionManager.QueryProcessor.ExecuteQuery(query); } catch (SmsQueryException ex) { SccmExceptionDialog.ShowDialog(SnapIn.Console, ex); return; } } if (showProgressDialog) { Type type = typeof(ClientActions); MethodInfo methodInfo = type.GetMethod(method); deviceProgressDialog = new DeviceProgressDialog(action, resultObjects, methodInfo) { Total = total }; deviceProgressDialog.ShowDialog(); } else { foreach (IResultObject resultObject in resultObjects) { ThreadPool.QueueUserWorkItem(arg => { RunAction(resultObject); }); } } return; }
private static void RunAction(IResultObject resultObject) { try { Type type = typeof(ClientActions); MethodInfo methodInfo = type.GetMethod(method); methodInfo.Invoke(null, new object[] { resultObject }); } catch (TargetInvocationException ex) { SccmExceptionDialog.ShowDialog(SnapIn.Console, ex.InnerException); } }
//private static DeviceProgressDialog deviceProgressDialog; public static void ChangeClientCache(object sender, ScopeNode scopeNode, ActionDescription action, IResultObject selectedResultObjects, PropertyDataUpdated dataUpdatedDelegate, Status status) { bool showProgressDialog = false; if (selectedResultObjects.ObjectClass == "SMS_Collection" || selectedResultObjects.Count > 1) { showProgressDialog = true; } int total = selectedResultObjects.Count; if (selectedResultObjects.ObjectClass == "SMS_Collection") { try { total = 0; string query = string.Format("SELECT * FROM SMS_FullCollectionMembership WHERE CollectionID='{0}'", selectedResultObjects["CollectionID"].StringValue); // query processor does not have count implemented?!?!? foreach (IResultObject tmp in selectedResultObjects.ConnectionManager.QueryProcessor.ExecuteQuery(query)) { total++; } selectedResultObjects = selectedResultObjects.ConnectionManager.QueryProcessor.ExecuteQuery(query); } catch (SmsQueryException ex) { SccmExceptionDialog.ShowDialog(SnapIn.Console, ex); return; } } if (showProgressDialog) { MessageBox.Show("Not implemented yet!", "Configuration Manager", MessageBoxButton.YesNo, MessageBoxImage.Exclamation); //Type type = typeof(ClientCache); //MethodInfo methodInfo = type.GetMethod("ChangeClientCacheSize"); //deviceProgressDialog = new DeviceProgressDialog(action, selectedResultObjects, methodInfo) //{ // Total = total //}; //deviceProgressDialog.ShowDialog(); } else { Utility.ShowDialog("QuickToolsDeviceCache", selectedResultObjects); } }
private void InfoWorker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) { try { if (e.Error != null) { SccmExceptionDialog.ShowDialog(this, e.Error, "Error"); } } finally { if (sender as BackgroundWorker == backgroundWorker) { backgroundWorker.Dispose(); backgroundWorker = null; UseWaitCursor = false; } } }
private static void ProcessProvisioningMode(ScopeNode scopeNode, ActionDescription action, IResultObject selectedResultObjects, bool mode) { if (selectedResultObjects.ObjectClass == "SMS_Collection") { ConnectionManagerBase connectionManagerInstance = (scopeNode as ConsoleParentNode).RootConnectionNode.GetConnectionManagerInstance("WQL"); try { string query = string.Format("SELECT * FROM SMS_FullCollectionMembership WHERE CollectionID='{0}'", selectedResultObjects["CollectionID"].StringValue); using (IResultObject resultObject = connectionManagerInstance.QueryProcessor.ExecuteQuery(query)) { using (ProvisioningModeDialog provisioningMode = new ProvisioningModeDialog(resultObject, action, mode)) { provisioningMode.ShowDialog(SnapIn.Console); return; } } } catch (SmsQueryException ex) { ExceptionUtilities.TraceException(ex); SccmExceptionDialog.ShowDialog(SnapIn.Console, ex); return; } } if (selectedResultObjects.Count == 1) { foreach (IResultObject resultObject in selectedResultObjects) { ThreadPool.QueueUserWorkItem(arg => { ProcessProvisioningMode(resultObject, mode); }); } } else { using (ProvisioningModeDialog provisioningMode = new ProvisioningModeDialog(selectedResultObjects, action, mode)) { provisioningMode.ShowDialog(SnapIn.Console); return; } } }
private void LAPSDialog_Shown(object sender, EventArgs e) { try { using (DirectorySearcher search = new DirectorySearcher { Filter = string.Format("(&(objectCategory=computer)(objectClass=computer)(cn={0}))", resultObjects["Name"].StringValue) }) { search.PropertiesToLoad.Add("distinguishedName"); search.PropertiesToLoad.Add("ms-mcs-admpwdexpirationtime"); search.PropertiesToLoad.Add("ms-mcs-admpwd"); SearchResult result = search.FindOne(); if (result != null) { if (result.Properties.Contains("ms-mcs-admpwdexpirationtime")) { long value = (long)result.Properties["ms-mcs-admpwdexpirationtime"][0]; DateTime expire = DateTime.FromFileTimeUtc(value); labelExpire.Text = expire.ToString(); } if (result.Properties.Contains("ms-mcs-admpwd")) { textBoxPassword.Text = result.Properties["ms-mcs-admpwd"][0].ToString(); } else { textBoxPassword.Text = "No LAPS data"; } } } } catch (Exception ex) { ExceptionUtilities.TraceException(ex); SccmExceptionDialog.ShowDialog(ex); } }
private void InfoWorker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) { try { if (e.Error != null) { SccmExceptionDialog.ShowDialog(this, e.Error, "Error"); } } finally { if (sender as BackgroundWorker == backgroundWorker) { backgroundWorker.Dispose(); backgroundWorker = null; UseWaitCursor = false; progressBar.Visible = false; listViewListCollections.IsLoading = false; listViewListCollections.UpdateColumnWidth(columnHeaderName); } } }
private void InfoWorker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) { try { if (e.Error != null) { SccmExceptionDialog.ShowDialog(this, e.Error, "Error"); } } finally { if (sender as BackgroundWorker == backgroundWorker) { backgroundWorker.Dispose(); backgroundWorker = null; UseWaitCursor = false; listViewClientHealth.IsLoading = false; listViewClientHealth.UpdateColumnWidth(columnHeaderDescription); buttonRefresh.Enabled = true; } } }
private void BackgroundWorker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) { try { if (e.Error != null) { SccmExceptionDialog.ShowDialog(this, e.Error, "Error"); } } finally { if (sender as SmsBackgroundWorker == backgroundWorker) { backgroundWorker.Dispose(); backgroundWorker = null; UseWaitCursor = false; listViewWindows.IsLoading = false; listViewUpcomingWindows.IsLoading = false; listViewWindows.UpdateColumnWidth(columnHeaderWindows); listViewUpcomingWindows.UpdateColumnWidth(columnHeaderUpcomingTime); } } }