Esempio n. 1
0
 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());
            }
        }