-
03-11-2013, 18:53 #1
PowerShell opdracht: ik geraak er niet meer aan uit
Beste,
Ik kreeg vorige week een opdracht voor in powershell. Ik sta nu al letterlijk een week te zoeken maar ik vind geen oplossing
hier is de code
en hier is de vraag:Code:function CheckArgument($intNumber) { $tmp = 0 $blnNumber =$false if([int]::TryParse($intNumber,[ref]$tmp)) { $intValue = [int]$intNumber if($intValue -gt 0) { $blnNumber = $true } } else { $blnNumber = $false } return $blnNumber } $blnNoEntries = $false if($args) { if ($args.length -eq 1) { $strArgument=$args[0] } else { $strArgument = $null } } if ($strArgument -eq "help") { Write-Host " `t Help voor script PSS013.ps1 `t Dit script neemt 1 argument aan, het aantal `t recente logboekregistraties dat je wenst te `t bekijken. `t Deze registraties lopen doorheen alle aan- `t wezige logboeken." -ForegroundColor DarkGreen Write-Host " `t Voorbeeld : `t > PSS013.ps1 20 `t toont de laatste 20 registraties voor alle logboeken" -ForegroundColor Yellow -BackgroundColor Blue } elseif ($strArgument -eq $null) { Write-Host " `t Dit script verwacht één argument `t Typ PSS013.ps1 help voor meer info... " -ForegroundColor Red } else { $blnNoEntries = CheckArgument $strArgument if ($blnNoEntries -eq $false) { Write-Host " `t Foutief argument `t Type PSS013.ps1 help voor meer info... " -ForegroundColor Red } else { $strLogList = Get-EventLog -List foreach ($strLog in $strLogList) { if($strLog.entries -ne 0) { Write-Host " `t $strArgument Recentste logs voor logboek $($strLog.log) " -ForegroundColor DarkGreen Get-Eventlog -LogName $strLog.log -Newest $strArgument } else { Write-Host " `t Geen logs aanwezig voor logboek $($strLog.log) " -Foregroundcolor Red } } } }
Pas uw vorige oefening aan( PSS013.ps1à aan zodat het script twee argumenten aanneemt. Het eerste argument blijft het aantal registraties, het tweede argument is het registratietype (entrytype).
Bijgevolg zal nieuweopdracht.ps1 van alle logboeken het aantal opgegeven recente registraties tonen voor het opgegeven registratietype. Pas foutafhandeling toe voor logboeken die geen registraties voor het opgegeven registratietype hebben.
en zo moet het er ongeveer uitzien
Kan iemand me helpen?
dank bij voorbaat
GillegunIntel Q6600@3.6Ghz,1.4V cpu Cooled by Prolimatech Megahalems, mobo: MSI P6N Sli Platinum, graka: MSI Ati HD5870 , 2*2GB Patriot Viper DDR2-6400 LL, Samsung Spinpoint F1 750GB 32Mb, Seagate Barracuda 500GB 16MB Cache, Coolermaster M700 psu, Coolermaster Stacker 832 SE(modded to iron man case) and 5 Scythe 120mm Slip Stream 1900Rpm. 8*120MM apolish Silver fans(Enermax) 2*Innovatek Raptorvibes, 2*Scythe Ita Kazeno votes
-
-
23-11-2013, 16:57 #2
In principe mag je geen vragen stellen in verband met huiswerk.
Ik heb niets opgevangen, dit zal je zelf moeten implementeren. Maar ik heb je op gang geholpen.
Iets zoals dit?
Code:function CheckArgument($intNumber) { $tmp = 0 $blnNumber =$false if([int]::TryParse($intNumber,[ref]$tmp)) { $intValue = [int]$intNumber if($intValue -gt 0) { $blnNumber = $true } } else { $blnNumber = $false } return $blnNumber } $blnNoEntries = $false if($args) { if ($args.length -eq 2) { $strArgument=$args[0] $strEntrytype=$args[1] } else { $strArgument = $null } } if ($strArgument -eq "help") { Write-Host " `t Help voor script PSS013.ps1 `t Dit script neemt 1 argument aan, het aantal `t recente logboekregistraties dat je wenst te `t bekijken. `t Deze registraties lopen doorheen alle aan- `t wezige logboeken." -ForegroundColor DarkGreen Write-Host " `t Voorbeeld : `t > PSS013.ps1 20 `t toont de laatste 20 registraties voor alle logboeken" -ForegroundColor Yellow -BackgroundColor Blue } elseif ($strArgument -eq $null) { Write-Host " `t Dit script verwacht één argument `t Typ PSS013.ps1 help voor meer info... " -ForegroundColor Red } else { $blnNoEntries = CheckArgument $strArgument if ($blnNoEntries -eq $false) { Write-Host " `t Foutief argument `t Type PSS013.ps1 help voor meer info... " -ForegroundColor Red } else { $strLogList = Get-EventLog -List foreach ($strLog in $strLogList) { if($strLog.entries -ne 0) { Write-Host " `t $strArgument Recentste logs voor logboek $($strLog.log) " -ForegroundColor DarkGreen Get-Eventlog -LogName $strLog.log -Newest $strArgument | where {$_.entryType -Match $strEntrytype} } else { Write-Host " `t Geen logs aanwezig voor logboek $($strLog.log) " -Foregroundcolor Red } } } }no votes
