protected override void ProcessRecord() { try { CMWinRegistry.NewRegValue(RegPath, ValueName, ValueType, ValueData); WriteObject("OK: Registry key " + RegPath + " created and value " + ValueName + " = " + ValueData.ToString() + " set."); } catch (Exception ex) { WriteObject("ERR: " + ex.Message.ToString()); } }
protected override void ProcessRecord() { try { List <dynamic> keysToDelete = new List <dynamic>(); foreach (CMWinRegistry.WinRegPath uninstallPath in CMWinRegistry.GetUninstallKeys()) { foreach (string appKeyName in CMWinRegistry.RegKeyFromString(uninstallPath.RegPath).GetSubKeyNames()) { foreach (CMWinRegistry.RegValue regValue in CMWinRegistry.GetRegValues(CMWinRegistry.RegKeyFromString(uninstallPath.RegPath + "\\" + appKeyName))) { if (regValue.Data.ToString().Like(Value)) { keysToDelete.Add(new { RootKey = uninstallPath.RegPath, ParentKey = appKeyName }); } } } } keysToDelete = keysToDelete.Distinct().ToList(); foreach (dynamic regKey in keysToDelete) { CMWinRegistry.RegKeyFromString((string)regKey.RootKey, true).DeleteSubKeyTree((string)regKey.ParentKey); WriteObject("OK: Deleted " + (string)regKey.ParentKey + " in " + (string)regKey.RootKey + "..."); } } catch (Exception ex) { WriteObject("ERR: " + ex.Message.ToString()); } }