WindowsLab

1.1.1

WindowsLab is a PowerShell module designed to simplify the administration of computer labs with Windows PCs (10 or 11) connected to the same LAN.

Key Features:
- Start, restart, or stop all PCs remotely
- Synchronize date and time across all PCs
- Create and manage generic user accounts
- Update passwords for generic accounts
- Disconnect users from all PCs
-
WindowsLab is a PowerShell module designed to simplify the administration of computer labs with Windows PCs (10 or 11) connected to the same LAN.

Key Features:
- Start, restart, or stop all PCs remotely
- Synchronize date and time across all PCs
- Create and manage generic user accounts
- Update passwords for generic accounts
- Disconnect users from all PCs
- Deploy files to all PCs
Show more

Minimum PowerShell version

7.1

Installation Options

Copy and Paste the following command to install this package using PowerShellGet More Info

Install-Module -Name WindowsLab

Copy and Paste the following command to install this package using Microsoft.PowerShell.PSResourceGet More Info

Install-PSResource -Name WindowsLab

You can deploy this package directly to Azure Automation. Note that deploying packages with dependencies will deploy all the dependencies to Azure Automation. Learn More

Manually download the .nupkg file to your system's default download location. Note that the file won't be unpacked, and won't include any dependencies. Learn More

Owners

Copyright

(c) Human.Against.Machine. All rights reserved.

Package Details

Author(s)

  • Human.Against.Machine

Tags

Windows Lab-management Computer-room Automation Users-management

Functions

Stop-LabPc Start-LabPc Set-LabPcName Sync-LabPcDate Test-LabPcPrompt Disconnect-User New-LabUser Remove-LabUser Set-LabUser Deploy-Item

PSEditions

Core

Dependencies

This module has no dependencies.

Release Notes

[1.1.1.] - 2024-11-18
Fixed
- Rename-TaskPath cmdlet issue on non-English systems by removing dependency on English output from schtasks.exe.

[1.1.0] - 2024-11-17
Added
* Set-LabPcName:
   - Introduced a new GUI with tabbed navigation, supporting multiple Labs.
   - Added a [Get MACs] button for searching MAC addresses, with output displayed in an embedded console.
* Rename-TaskPath cmdlet to silently move scheduled stop tasks from the old folder to the updated one.
* Improved LabPC stop scheduling:
   - Added validation for the provided time parameter.
   - Set trigger times to local time, ensuring scheduled tasks automatically adjust for DST changes.

Fixed
* Fixed issue where zero Ethernet adapters were found when searching for MAC addresses.
* Resolved errors in GettingLabReady.ps1; now sets the network to private without searching for a network adapter.
* Prevented configuration loss during module updates by moving the config.json file from the WindowsLab installation folder to $env:APPDATA\WindowsLab.
* Fixed handling of a single MAC address, ensuring it is treated as an array when saving the configuration.
* Updated the task folder name for the scheduled stops.

Changed
* Enhanced management of permanent and session memory.
* Improved user messages for both the terminal and GUI console.
* Increased code readability with clearer comments, and more descriptive variable and function names.
* Refined overall clarity of the README.md documentation.
* Updated to save found MAC addresses individually, removing the requirement to retrieve all addresses simultaneously.

[1.0.1] - 2024-10-07
Added
- GettingLabReady.ps1 script helps to automate each LabPC preparation.
- Changelog to manifest.

Fixed
- Typos in manifest description value, now use here-string.

[1.0.0] - 2024-10-05
Added
- Set-LabPcName cmdlet, opens a GUI to set LabPC names.

Changed
- Improved cmdlets names.
- Updated overall documentation.

[0.9.0] - 2024-08-06
Initial Release
- A group of cmdlets for managing a laboratory.

FileList

Version History

Version Downloads Last updated
1.1.1 (current version) 13 11/18/2024
1.1.0 6 11/17/2024
1.0.1 21 10/7/2024
1.0.0 9 10/5/2024
0.9.0 15 8/6/2024