Skip to content

Misc. improvement suggestions #2

@mmseng

Description

@mmseng

Because the module works by tricking the MECM client into thinking the target TS deployment is a Required assignment, there are scenarios which can cause a lot of confusion, and potentially risk loss of data.

For example, if you try to use the module while the target endpoint is not in its maintenance window, the module will mark the TS assignment as required and trigger the schedule, causing the endpoint to start (or attempt to start) the TS immediately upon entering its next maintenance window. If you're not aware of this, and just assume that the module failed to start the TS, then this can catch you off guard and potentially end up reimaging a system you didn't intend to reimage.

As a side note, its unclear whether the client refreshing its policy would overwrite the Required vs. Available status of the target deployment. This is something that could happen in the timeframe between using the module on an endpoint outside of its maintenance window and when the maintenance window starts. So it's also possible that triggering a TS outside of the endpoints maintenance window might end up NOT reimaging the endpoint later during its maintenance window, when you expected that to work.

To add some utility to help with this:

  • Add an option to undo revert the WMI change which tricks the client into thinking that Available deployments are Required
    • Not sure whether it's actually possible to "revert" the invocation of the WMI schedule trigger
  • If possible, add a check that attempts to identify whether the endpoint is inside of our outside of a maintenance window when the module is run, and warn/inform the user accordingly, before affecting the WMI changes.
  • Investigate the possibility of adding a check for whether the TS was successfully started as intended, and if not attempt to revert the WMI changes, so as to leave the system in its original state, and avoid any surprises later.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions