1. KMS Server

  • Log in as smru on a VirtualBox virtual machine running Debian GNU/Linux.

  • Install Git.

  • Enter the following commands at a Command Line.

    sudo apt-get install gcc make
    cd
    rm -rf vlmscd
    git clone https://github.com/kkkgo/vlmcsd
    cd vlmcsd
    # Prevent following error message during make.
    # fatal: No annotated tags can describe '32b5f77a676511217cf0f201f9ab28118ddb3694'.
    # However, there were unannotated tags: try --tags.
    sed -i "s/git describe)/git describe --tags)/" src/GNUmakefile
    make
    sudo cp bin/vlmcs* /usr/local/sbin/
  • Create a file /etc/init.d/vlmcsd with the following contents.

    #!/bin/sh
    
    ### BEGIN INIT INFO
    # Provides:          vlmcsd
    # Required-Start:    $remote_fs $syslog
    # Required-Stop:     $remote_fs $syslog
    # Default-Start:     2 3 4 5
    # Default-Stop:      0 1 6
    # Short-Description: KMS server
    ### END INIT INFO
    
    # Do NOT "set -e"
    
    if [ `id -u` != 0 ]; then
       echo "Must be root to run this"
       exit 1
    fi
    
    PATH=/usr/local/sbin:/sbin:/usr/sbin:/usr/local/bin:/bin:/usr/bin
    DESC="Microsoft KMS daemon"
    
    NAME=vlmcsd
    DAEMON=/usr/local/sbin/$NAME
    PIDFILE=/var/run/$NAME.pid
    SCRIPTNAME=/etc/init.d/$NAME
    LOGFILE=syslog
    PORT=1688
    
    # Read configuration variable file if it is present
    [ -r /etc/default/$NAME ] && . /etc/default/$NAME
    
    # Exit if the package is not installed
    [ -x "$DAEMON" ] || exit 0
    
    DAEMON_ARGS="-l $LOGFILE -p $PIDFILE -P $PORT"
    
    # Load the VERBOSE setting and other rcS variables
    . /lib/init/vars.sh
    
    # Define LSB log_* functions.
    # Depend on lsb-base (>= 3.2-14) to ensure that this file is present
    # and status_of_proc is working.
    . /lib/lsb/init-functions
    
    #
    # Function that starts the daemon/service
    #
    do_start()
    {
       status="0"
       pidofproc -p $PIDFILE $DAEMON >/dev/null || status="$?"
    
       if [ $status -eq 0 ]; then
          log_action_msg "already running"
          return 3
       fi
    
       $DAEMON $DAEMON_ARGS $EXTRA_ARGS
       return $?
    }
    
    #
    # Function that stops the daemon/service
    #
    do_stop()
    {
       if [ ! -f $PIDFILE ]; then
          log_action_msg "service not running"
          return 4
       fi
    
       kill `cat $PIDFILE`
       return $?
    }
    
    case "$1" in
       start)
          log_daemon_msg "Starting $DESC" "$NAME"
          do_start
          case "$?" in
             0) log_end_msg 0 ;;
             *) log_end_msg 1 ;;
          esac
          ;;
       stop)
          log_daemon_msg "Stopping $DESC" "$NAME"
          do_stop
          case "$?" in
             0) log_end_msg 0 ;;
             *) log_end_msg 1 ;;
           esac
           ;;
       restart|force-reload|reload)
          log_daemon_msg "Restarting $DESC" "$NAME"
          do_stop
          sleep 1
          do_start
          case "$?" in
             0) log_end_msg 0 ;;
             *) log_end_msg 1 ;; # Failed to start
          esac
          ;;
       status)
          status_of_proc -p $PIDFILE $DAEMON $NAME && exit 0 || exit $?
          ;;
       *)
          echo "Usage: $SCRIPTNAME {start|stop|status|reload|restart|force-reload}" >&2
          exit 3
          ;;
    esac
  • Enter the following commands at a Command Line.

    sudo chmod +x /etc/init.d/vlmcsd
    sudo systemctl enable vlmcsd
    sudo systemctl start vlmcsd
    sudo systemctl status vlmcsd
    ip a

2. Product Keys

  • See https://winaero.com/how-to-get-microsoft-office-product-key-without-using-third-party-software.

    Product                                         Product Key
    =======                                         ===========
    Office 2010                                     JVF76-6TMPY-98BXW-76FY6-YG26V
    Office 2013                                     JVF76-6TMPY-98BXW-76FY6-YG26V
    Office 2016                                     JVF76-6TMPY-98BXW-76FY6-YG26V
    Office 2019
    Windows 10 Education                            NW6C2-QMPVW-D7KKK-3GKT6-VCFB2
    Windows 10 Enterprise                           NPPR9-FWDCX-D2C8J-H872K-2YT43
    Windows 10 Enterprise LTSC 2019                 M7XTQ-FN8P6-TTKYV-9D4CC-J462D
    Windows 10 Home                                 TX9XD-98N7V-6WMQ6-BX7FG-H8Q99
    Windows 10 Pro                                  W269N-WFGWX-YVC9B-4J6C9-T83GX

3. Office Activation

  • Enter the following commands at a Command Prompt with administrative privileges.

    cd C:\Program Files\Microsoft Office\Office15                   (1)
    cd C:\Program Files\Microsoft Office\Office16                   (2)
    cd C:\Program Files (x86)\Microsoft Office\Office15             (3)
    cd C:\Program Files (x86)\Microsoft Office\Office16             (4)
    W:\Software\Microsoft\Office\Retail2Volume.cmd                  (5)
    cscript ospp.vbs /sethst:<kms-server-ip-addr>
    cscript ospp.vbs /act
    1 32-bit MS Office 2013 on 32-bit Windows or 64-bit MS Office 2013 on 64-bit Windows.
    2 32-bit MS Office 2016/2019 on 32-bit Windows or 64-bit MS Office 2016/2019 on 64-bit Windows.
    3 32-bit MS Office 2013 on 64-bit Windows.
    4 32-bit MS Office 2016/2019 on 64-bit Windows.
    5 Only needed for MS Office 2016/2019.

4. Windows Activation

  • Enter the following commands at a Command Prompt with administrative privileges.

    Get-MSWindowsProductKey
    slmgr.vbs -ipk <product-key>
    slmgr.vbs -skms <kms-server-ip-addr>
    slmgr.vbs -ato