If it's possible to programmatically reset Mac to factory defaults

The name of the pictureThe name of the pictureThe name of the pictureClash Royale CLAN TAG#URR8PPP












0















Wondering if there is a way to programmatically do something close to this process.



The main steps are:



  1. Backup computer. This can be done with standard stuff I imagine.

  2. Deauthorize accounts. This may be tricky but I think it can also be programmatically done.

  3. Start MacBook Pro in recovery mode. This is the first part of my question. If this can be done programmatically. So the user just presses a button and it restarts the computer in recovery mode. Maybe there is a way for the keys ⌘R to be invoked even while the computer is restarted, programmatically somehow.

  4. Erase partition/disk. Basically, do stuff programmatically while in debug mode during startup. Wondering if this is possible to do programmatically.

  5. Re-install the latest MacOS. Same here.

  6. Login for the first time. Perhaps programmatically/automatically fill in some of the fields for user account creation based on the state of the system before reset (like icloud username and account username). Wondering if any of that is possible.

Basically I'm wondering if you can just "press a button" and it will do all this stuff for you, and all you have to do is confirm your desired username and password on startup and you're back to a fresh slate.



If it's not directly possible, maybe it is possible by plugging in some external device and having it maintain some sort of state.










share|improve this question




























    0















    Wondering if there is a way to programmatically do something close to this process.



    The main steps are:



    1. Backup computer. This can be done with standard stuff I imagine.

    2. Deauthorize accounts. This may be tricky but I think it can also be programmatically done.

    3. Start MacBook Pro in recovery mode. This is the first part of my question. If this can be done programmatically. So the user just presses a button and it restarts the computer in recovery mode. Maybe there is a way for the keys ⌘R to be invoked even while the computer is restarted, programmatically somehow.

    4. Erase partition/disk. Basically, do stuff programmatically while in debug mode during startup. Wondering if this is possible to do programmatically.

    5. Re-install the latest MacOS. Same here.

    6. Login for the first time. Perhaps programmatically/automatically fill in some of the fields for user account creation based on the state of the system before reset (like icloud username and account username). Wondering if any of that is possible.

    Basically I'm wondering if you can just "press a button" and it will do all this stuff for you, and all you have to do is confirm your desired username and password on startup and you're back to a fresh slate.



    If it's not directly possible, maybe it is possible by plugging in some external device and having it maintain some sort of state.










    share|improve this question


























      0












      0








      0








      Wondering if there is a way to programmatically do something close to this process.



      The main steps are:



      1. Backup computer. This can be done with standard stuff I imagine.

      2. Deauthorize accounts. This may be tricky but I think it can also be programmatically done.

      3. Start MacBook Pro in recovery mode. This is the first part of my question. If this can be done programmatically. So the user just presses a button and it restarts the computer in recovery mode. Maybe there is a way for the keys ⌘R to be invoked even while the computer is restarted, programmatically somehow.

      4. Erase partition/disk. Basically, do stuff programmatically while in debug mode during startup. Wondering if this is possible to do programmatically.

      5. Re-install the latest MacOS. Same here.

      6. Login for the first time. Perhaps programmatically/automatically fill in some of the fields for user account creation based on the state of the system before reset (like icloud username and account username). Wondering if any of that is possible.

      Basically I'm wondering if you can just "press a button" and it will do all this stuff for you, and all you have to do is confirm your desired username and password on startup and you're back to a fresh slate.



      If it's not directly possible, maybe it is possible by plugging in some external device and having it maintain some sort of state.










      share|improve this question
















      Wondering if there is a way to programmatically do something close to this process.



      The main steps are:



      1. Backup computer. This can be done with standard stuff I imagine.

      2. Deauthorize accounts. This may be tricky but I think it can also be programmatically done.

      3. Start MacBook Pro in recovery mode. This is the first part of my question. If this can be done programmatically. So the user just presses a button and it restarts the computer in recovery mode. Maybe there is a way for the keys ⌘R to be invoked even while the computer is restarted, programmatically somehow.

      4. Erase partition/disk. Basically, do stuff programmatically while in debug mode during startup. Wondering if this is possible to do programmatically.

      5. Re-install the latest MacOS. Same here.

      6. Login for the first time. Perhaps programmatically/automatically fill in some of the fields for user account creation based on the state of the system before reset (like icloud username and account username). Wondering if any of that is possible.

      Basically I'm wondering if you can just "press a button" and it will do all this stuff for you, and all you have to do is confirm your desired username and password on startup and you're back to a fresh slate.



      If it's not directly possible, maybe it is possible by plugging in some external device and having it maintain some sort of state.







      osx system-programming






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Jan 10 at 11:37







      user10869858

















      asked Jan 10 at 11:25









      user10869858user10869858

      234




      234




















          0






          active

          oldest

          votes











          Your Answer








          StackExchange.ready(function()
          var channelOptions =
          tags: "".split(" "),
          id: "106"
          ;
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function()
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled)
          StackExchange.using("snippets", function()
          createEditor();
          );

          else
          createEditor();

          );

          function createEditor()
          StackExchange.prepareEditor(
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: false,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: null,
          bindNavPrevention: true,
          postfix: "",
          imageUploader:
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          ,
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          );



          );













          draft saved

          draft discarded


















          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f493680%2fif-its-possible-to-programmatically-reset-mac-to-factory-defaults%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown

























          0






          active

          oldest

          votes








          0






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes















          draft saved

          draft discarded
















































          Thanks for contributing an answer to Unix & Linux Stack Exchange!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid


          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.

          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f493680%2fif-its-possible-to-programmatically-reset-mac-to-factory-defaults%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown






          Popular posts from this blog

          How to check contact read email or not when send email to Individual?

          Displaying single band from multi-band raster using QGIS

          How many registers does an x86_64 CPU actually have?