I possess a collection of 21 computers, all of which have identical software installed. My intention is to commence and terminate the software on all 21 computers using a 22nd computer.
All of the computers are running Windows 10 Pro (version 1903). The purpose of this exercise is to conduct testing. Currently, I manually distribute the latest version of the application to all the machines using robocopy, and then initiate and terminate the software on all of them manually.
I have considered the possibility of developing my own service to execute this task on each computer, but that would require a substantial amount of additional time and effort, and I believe that others have already attempted this.
3 Answers
Introduction
In a scenario where you have a cluster of computers, managing and controlling the applications running on each machine can be a daunting task. In this blog post, we will discuss how to start and stop an application in a 21-computer cluster using a 22nd computer. We will explore different methods that can be used to accomplish this task, including remote desktop, PowerShell, and third-party tools.
Remote Desktop
Remote Desktop is a built-in Windows feature that allows you to connect to a remote computer from another computer. This feature can be used to start and stop an application on a remote computer. To use Remote Desktop, you need to enable Remote Desktop on the remote computer and ensure that the user account you will use to connect has the necessary permissions.
Once Remote Desktop is enabled, you can connect to the remote computer and start the application manually. To stop the application, you can use the Task Manager on the remote computer to end the process. While Remote Desktop is a simple and straightforward method of managing applications on a remote computer, it can be time-consuming and impractical when dealing with a large number of computers.
PowerShell
PowerShell is a command-line interface that allows you to automate tasks on a Windows computer. PowerShell can be used to start and stop an application on a remote computer using the Invoke-Command cmdlet. This cmdlet allows you to execute commands on a remote computer and retrieve the output.
To use PowerShell to start and stop an application on a remote computer, you need to create a PowerShell script that includes the necessary commands. The script should use the Invoke-Command cmdlet to execute the commands on the remote computer. Once the script is created, you can run it on the 22nd computer to start and stop the application on all 21 computers simultaneously.
Third-Party Tools
Third-party tools can also be used to manage applications on a remote computer. These tools provide a graphical user interface that allows you to start and stop applications on multiple computers simultaneously. One such tool is PDQ Deploy, which allows you to deploy software and patches to multiple computers at once.
PDQ Deploy can be used to deploy the latest version of the application to all 21 computers and then start and stop the application on all of them simultaneously. The tool provides a simple and intuitive interface that allows you to manage applications on remote computers with ease.
Conclusion
In conclusion, managing applications on a cluster of computers can be a challenging task. However, with the right tools and techniques, it can be simplified and streamlined. Remote Desktop, PowerShell, and third-party tools such as PDQ Deploy can be used to start and stop applications on multiple computers simultaneously. While each method has its advantages and disadvantages, it is important to choose the one that best suits your needs and requirements. With the right approach, managing applications on a cluster of computers can be a hassle-free and efficient process.
There are several ways you can start and stop an application on a cluster of computers running Windows 10 Pro. One way is to use a tool such as psexec, which is a command-line utility that allows you to run processes on remote systems.
To start the application on all 21 computers using psexec, you can use the following command:
psexec \\* -u <username> -p <password> <path_to_application>
Replace <username>
and <password>
with the appropriate values for a user account that has permission to start the application on the target computers. Replace <path_to_application>
with the path to the application executable on the target computers.
To stop the application, you can use the taskkill command with psexec, like this:
psexec \\* -u <username> -p <password> taskkill /F /IM <process_name>
Replace <process_name>
with the name of the process that represents the application you want to stop.
Another option is to use a script to start and stop the application on the cluster of computers. For example, you could use a batch script or a PowerShell script to remotely connect to each computer in the cluster and start or stop the application.
Finally, you could use a tool such as Microsoft System Center or Ansible to manage the applications on your cluster of computers. These tools allow you to automate the deployment and management of applications on multiple computers.
In the same manner as how you currently employ robocopy to transfer files to the 21 computers, presumably using a batch script, you could also launch the software on those computers using a similar approach. The appropriate tool to utilize for this task is psexec:
PsExec is a light-weight telnet-replacement that lets you execute processes on other systems, complete with full interactivity for console applications, without having to manually install client software. PsExec’s most powerful uses include launching interactive command-prompts on remote systems and remote-enabling tools like IpConfig that otherwise do not have the ability to show information about remote systems.