Compare commits

...

3 Commits
v1.1 ... main

Author SHA1 Message Date
Asif Bacchus a0aa0680ef Update readme - reference version 2.0 2021-09-05 19:00:10 -06:00
Asif Bacchus b968fdf93e chore(manifest): bump magicPacket to version 2.0 2021-09-05 18:50:09 -06:00
Asif Bacchus d5c3c071cd refactor(magicpacket): manual MAC address format validation
- use manual format validation for MacAddress so that ErrorAction works
correctly instead of throwing ParameterBindingError which requires
Try/Catch blocks

BREAKING CHANGES:
- remove parameter validation check for MacAddress,
validate while processing
- change all warnings to errors

Closes #1
2021-09-05 18:49:00 -06:00
3 changed files with 11 additions and 5 deletions

View File

@ -38,8 +38,8 @@ Here's a complete example assuming I want the module automatically available for
account: account:
```powershell ```powershell
# download version 1.1 # download version 2.0
Invoke-WebRequest -Uri https://git.asifbacchus.dev/asif/ps-cmdlet-wol/archive/v1.1.zip -OutFile "$Env:DOWNLOADS\ps-cmdlet-wol.zip" Invoke-WebRequest -Uri https://git.asifbacchus.dev/asif/ps-cmdlet-wol/archive/v2.0.zip -OutFile "$Env:DOWNLOADS\ps-cmdlet-wol.zip"
# Get PSModulePath # Get PSModulePath
# You should see a user-level modules path in the form of either: # You should see a user-level modules path in the form of either:

Binary file not shown.

View File

@ -50,7 +50,6 @@ function Send-MagicPacket
ValueFromPipelineByPropertyName, ValueFromPipelineByPropertyName,
HelpMessage = "Please provide one or more MAC addresses. You may use a colon (:) or a hypen (-) to separate hex values." HelpMessage = "Please provide one or more MAC addresses. You may use a colon (:) or a hypen (-) to separate hex values."
)] )]
[ValidatePattern('^([0-9A-F]{2}[:-]){5}([0-9A-F]{2})$')]
[String[]] [String[]]
$MacAddress, $MacAddress,
@ -83,6 +82,13 @@ function Send-MagicPacket
{ {
foreach ($addr in $MacAddress) foreach ($addr in $MacAddress)
{ {
# validate MAC address format or write error and continue
if (!($addr -match '^([0-9A-F]{2}[:-]){5}([0-9A-F]{2})$'))
{
Write-Error "Invalid MAC address: $addr"
continue
}
# convert MAC address to magic packet # convert MAC address to magic packet
try try
{ {
@ -97,7 +103,7 @@ function Send-MagicPacket
} }
catch catch
{ {
Write-Warning "Unable to process MAC address: $thisMacAddress" Write-Error "Unable to process MAC address: $thisMacAddress"
continue continue
} }
@ -112,7 +118,7 @@ function Send-MagicPacket
} }
catch catch
{ {
Write-Warning "Unable to send magic packet for '$addr'" Write-Error "Unable to send magic packet for '$addr'"
continue continue
} }
} }