{"id":23771668,"url":"https://github.com/larrywisherman/wakeonlan","last_synced_at":"2026-05-07T07:39:29.394Z","repository":{"id":269756483,"uuid":"907983130","full_name":"LarryWisherMan/WakeOnLan","owner":"LarryWisherMan","description":"A PowerShell module designed to facilitate sending Wake-on-LAN (WOL) requests and managing the status of target computers","archived":false,"fork":false,"pushed_at":"2025-01-11T07:33:15.000Z","size":1051,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-11T08:27:19.657Z","etag":null,"topics":["csharp","networking","powershell","wakeonlan"],"latest_commit_sha":null,"homepage":"https://www.powershellgallery.com/packages/LWM.WakeOnLan/","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/LarryWisherMan.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-12-24T19:21:01.000Z","updated_at":"2025-01-07T09:33:26.000Z","dependencies_parsed_at":"2024-12-25T23:19:07.728Z","dependency_job_id":"b62d9285-58f4-4cf0-92fb-b9d2b3133df0","html_url":"https://github.com/LarryWisherMan/WakeOnLan","commit_stats":null,"previous_names":["larrywisherman/wakeonlan"],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LarryWisherMan%2FWakeOnLan","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LarryWisherMan%2FWakeOnLan/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LarryWisherMan%2FWakeOnLan/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LarryWisherMan%2FWakeOnLan/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/LarryWisherMan","download_url":"https://codeload.github.com/LarryWisherMan/WakeOnLan/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239958286,"owners_count":19724925,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["csharp","networking","powershell","wakeonlan"],"created_at":"2025-01-01T04:43:53.374Z","updated_at":"2026-04-01T05:30:16.180Z","avatar_url":"https://github.com/LarryWisherMan.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n# LWM.WakeOnLan\n\n**LWM.WakeOnLan** is a PowerShell module for sending Wake-on-LAN (WOL) requests and monitoring the status of target computers. This module supports both single and multiple target configurations and offers advanced features such as asynchronous execution, proxy-based WOL requests, and result monitoring.\n\n\n## Features\n\n- **Wake-on-LAN**:\n  - Send WOL requests to one or more target computers.\n  - Use proxies to send WOL packets for cross-network support.\n- **Monitoring**:\n  - Monitor the status of target computers after sending WOL requests.\n  - Retrieve and manage monitoring logs.\n- **Advanced Configuration**:\n  - Configure retries, timeouts, and ports for WOL operations.\n  - Use secure credentials for proxy connections.\n\n---\n\n## Installation\n\n### From PowerShell Gallery (Recommended)\n\nTo install the module directly from the PowerShell Gallery, run:\n\n```powershell\nInstall-Module -Name LWM.WakeOnLan -AllowPrerelease\n```\n\n### Verify Installation\n\n```powershell\n# Check the installed module\nGet-Module -Name LWM.WakeOnLan -ListAvailable\n\n# Import the module\nImport-Module -Name LWM.WakeOnLan\n\n# List available cmdlets\nGet-Command -Module LWM.WakeOnLan\n```\n\n### Uninstallation\n\nTo uninstall the module:\n\n```powershell\nUninstall-Module -Name LWM.WakeOnLan\n```\n\n---\n\n## Usage\n\n### Cmdlets\n\n| Cmdlet                   | Description                                      |\n|--------------------------|--------------------------------------------------|\n| `Invoke-WakeOnLan`       | Sends WOL requests and monitors target status.   |\n| `Get-WakeOnLanData`      | Retrieves WOL monitor logs or results.           |\n\n---\n\n\n### Wake-on-LAN Command\n\n#### Single Target Example\n\n```powershell\nInvoke-WakeOnLan -MacAddress \"00:1A:2B:3C:4D:5E\" -ComputerName \"TargetPC\" -ProxyComputerName \"ProxyPC\"\n```\n\n\n#### Multiple Targets Example\n\n```powershell\n$targets = @{\n    \"ProxyPC1\" = @(\n        @{ MacAddress = \"00:1A:2B:3C:4D:5E\"; ComputerName = \"TargetPC1\" },\n        @{ MacAddress = \"00:1A:2B:3C:4D:5F\"; ComputerName = \"TargetPC2\" }\n    )\n}\n\nInvoke-WakeOnLan -HashtableTargets $targets\n```\n\n### Monitor Logs\n\nRetrieve WOL monitor logs:\n\n\n```powershell\nGet-WakeOnLanData -MonitorLog | Format-Table\n```\n\n#### Output\n\n| ComputerName | ProxyComputerName | WolSentTime         | MonitoringEndTime   | WolSuccess | IsMonitoringComplete | PingCount |\n|--------------|-------------------|---------------------|---------------------|------------|-----------------------|-----------|\n| TargetPC2    | 172.31.115.247    | 1/7/2025 8:44:33 AM | 1/7/2025 8:45:33 AM | False      | False                | 1         |\n| TargetPC1    | 172.31.115.247    | 1/7/2025 8:44:33 AM | 1/7/2025 8:45:33 AM | True      | True                | 5         |\n\n\n- **ComputerName**: The target computer that the WOL request was sent to.\n- **ProxyComputerName**: The proxy computer used to send the WOL request.\n- **WolSentTime**: The timestamp of when the WOL packet was sent.\n- **MonitoringEndTime**: The timestamp of when monitoring for the target ends.\n- **WolSuccess**: Indicates whether the WOL request was successful (`True` or `False`).\n- **IsMonitoringComplete**: Indicates whether monitoring for the target has been completed.\n- **PingCount**: The number of ping attempts made during monitoring.\n\n\n### Results\n\nRetrieve WOL Results logs:\n\n```powershell\nGet-WakeOnLanData -Results | Format-Table\n```\n\n#### Output\n\n| TargetComputerName | TargetMacAddress  | ProxyComputerName | Port | Timestamp           | RequestSent | WolSuccess | ErrorMessage                                          |\n|--------------------|-------------------|-------------------|------|---------------------|-------------|------------|------------------------------------------------------|\n| TargetPC3          | 00:1A:2B:3C:4D:60 | ProxyPC2          | 9    | 1/7/2025 8:44:33 AM | False       | False      | Proxy computer is not reachable.                    |\n| TargetPC2          | 00:1A:2B:3C:4D:5F | 172.31.115.247    | 9    | 1/7/2025 8:44:34 AM | True        | False      | Ping response not received within the timeout period.|\n| TargetPC4          | 00:1A:2B:3C:4D:61 | ProxyPC2          | 9    | 1/7/2025 8:44:33 AM | False       | False      | Proxy computer is not reachable.                    |\n| TargetPC1          | 00:1A:2B:3C:4D:5F | 172.31.115.247    | 9    | 1/7/2025 8:44:34 AM | True        | True       |                                                    |\n\n- **TargetComputerName**: The name of the target computer for which the WOL request was sent.\n- **TargetMacAddress**: The MAC address of the target computer.\n- **ProxyComputerName**: The proxy computer used to send the WOL request.\n- **Port**: The network port used for the WOL request.\n- **Timestamp**: The date and time when the request was sent.\n- **RequestSent**: Indicates whether the WOL request was sent (`True` or `False`).\n- **WolSuccess**: Indicates whether the WOL operation was successful (`True` or `False`).\n- **ErrorMessage**: Provides details about any errors encountered during the operation.\n\n### Clearing Logs\n\nYou can clear either Result Logs or Monitor Logs by running `Get-WakeOnLanData` with the `-ClearAfterRetrieval` switch\n\n```powershell\n#Clear Results:\nGet-WakeOnLanData -Results -ClearAfterRetrieval\n\n#Clear Monitor:\nGet-WakeOnLanData -Monitor  -ClearAfterRetrieval\n```\n\n## Configuration\n\nYou can customize the following parameters for WOL operations:\n\n- **Port**: Specify the port used for WOL packets (default: `9`).\n- **MaxPingAttempts**: Set the maximum number of ping retries (default: `5`).\n- **TimeoutInSeconds**: Configure the timeout for WOL operations (default: `60`).\n- **Credentials**: Provide secure credentials for proxy connections.\n\n---\n\n## Release Notes\n\n### Version 0.2.0\n\n- Initial release.\n- Added support for WOL requests with single and multiple targets.\n- Implemented monitoring and log retrieval features.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flarrywisherman%2Fwakeonlan","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flarrywisherman%2Fwakeonlan","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flarrywisherman%2Fwakeonlan/lists"}