this post was submitted on 23 Nov 2023
11 points (86.7% liked)

Sysadmin

7717 readers
95 users here now

A community dedicated to the profession of IT Systems Administration

No generic Lemmy issue posts please! Posts about Lemmy belong in one of these communities:
[email protected]
[email protected]
[email protected]
[email protected]

founded 1 year ago
MODERATORS
 

I thought this was the right place to ask, let me know if somewhere else was better.

I have a classroom in a public school with around 30 PCs (windows) I need to install software on (python and codium). They are all the same PCs. In the past there was a management system but due to some licensing issues that does not work anymore.

How its been done before: Go to each and every PC and setup everything manually, or do it once and mirror the HDD 30 times .... both ways very time consuming.

I thought there might be a better way to do this, do you have any idea?

top 21 comments
sorted by: hot top controversial new old
[–] ichbinjasokreativ 11 points 1 year ago (1 children)

PowerShell is the way to go here, either through winrm or psexec

[–] surewhynotlem 4 points 1 year ago (1 children)

This is the answer for such a small group of machines. Have chatgpt write a script that runs X on every device in a list. Then have X be the install from a network share.

[–] nyar 4 points 1 year ago

Then, with the script it made, double check every line and confirm it didn't make shit up.

[–] SheeEttin 11 points 1 year ago (1 children)

PDQ Deploy is pretty highly recommended.

[–] BenM2023 2 points 1 year ago

I would second pdq.

I use the free version to assist with the non gpo installable crapware the school has to use. It is restricted in what it can do but us good enough.

For python and the like, are you sure you want that on your network on every day workstations? Most school networks have a no programming languages policy (though handwave powershell)

We use a virtualbox vm with an immutable hard disk as a container.... Semms to work OK and might be something to look at. Has the advantage that updates are simple - change to disk image.

[–] oDDmON 7 points 1 year ago

Look into psexec, MS bought it & the rest of that suite of tools, long ago and last I looked, still supported them. (Yep. Still do)

They were easily scripted, perfect for managing small labs, or OUs.

More here: https://learn.microsoft.com/en-us/sysinternals/downloads/psexec

[–] REdOG 6 points 1 year ago

Id make sure winrm is setup and use Ansible.

Or install and configure ssh and use powershell

[–] Dran_Arcana 4 points 1 year ago* (last edited 1 year ago) (1 children)

The tool sets you're looking for fall under a category called IaC (infrastructure as code). They allow you to define environments and add installers and configuration to those environments. Typically they require an extra network-accessable server to act as a controller for the toolset.

My personal go-to at work for exactly what you're asking is Puppet.

Other popular options: Sccm, Chef, Ansible

[–] surewhynotlem 3 points 1 year ago (1 children)

I've never heard of IAC on Windows desktops. IAC is about consistent building of cloud resources. These are individual physical devices and probably aren't all being flashed and rebuilt with every deployment.

[–] Dran_Arcana 1 points 1 year ago* (last edited 1 year ago) (1 children)

https://learn.microsoft.com/en-us/mem/configmgr/core/understand/introduction

Configuration Manager / intune / sccm / whatever they change the name to next is the first-party solution from MS. It has always been able to modify an existing install. Push out a fresh piece of software, reconfigure one, uninstall one, force a group to update a gpo or update windows, etc...

Most universities use intune/puppet/chef for this in labs and for deployed desktops/laptops to faculty/staff to keep things up to date and consistent.

[–] surewhynotlem 2 points 1 year ago (1 children)

Sure. We manage about 110,000 endpoints with it at the office. It's just not infrastructure as code.

[–] Dran_Arcana 1 points 1 year ago (1 children)

Intune is kinda point-and-clickey for sure, but would you not consider puppet and ansible IaC? What would you classify it if not?

[–] surewhynotlem 2 points 1 year ago

As I understand it, IAC is not about managing devices. When a IAC created device needs an update, you update the config, blow away the device, and build new.

Ansible and puppet manage devices. If you need a change, you send the package or config or reg key. You can't blow away a device and build identical, like you can with IAC. At least not easily and without lots of careful group management.

That said, IAC is changing fast and I may not be up to speed on all the features of those tools. We're an MECM and intune shop, with a bit of jamf on the side.

[–] [email protected] 4 points 1 year ago

If it can't cost anything, and time is not too much of an issue, you might want to use winget or chocolatey. If there's packages, you can write the script quite easily, then run it on every machine.

[–] IMongoose 3 points 1 year ago

Me as a potato would use https://ninite.com/ for python and figure out a silent install for codium and make a batch script to install them.

I would also look into setting up a https://fogproject.org/ server to image windows devices if you have no money or resources.

[–] [email protected] 1 points 1 year ago

Are they domain joined? You could always use active directory to do a mass install. I like RZget from Ruckzuck but I'm sure there are plenty of similar tools.

Another option is to use SSH and clusterssh to run commands on each machine. Its more of a Linux solution but it should work assuming you willing to go around and add the same public key to each machine.

[–] netburnr 1 points 1 year ago (2 children)
[–] surewhynotlem 2 points 1 year ago

Not free though

[–] [email protected] 1 points 1 year ago

Crazy levels of work required...

[–] [email protected] 0 points 1 year ago (1 children)

USB Rubber Ducky or similar

[–] [email protected] 2 points 1 year ago

Now that's a solution I've never thought of