1. #1
    gillegun's Avatar
    Registered
    04/06/09
    Location
    Ieper
    Posts
    355
    iTrader
    6 (100%)
    Mentioned
    0 Post(s)

    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
    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
    			}
    		}
    	}
    }
    en hier is de vraag:
    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

    Gillegun
    Intel 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 Kaze
    no votes  

  2. #2

    Registered
    28/08/09
    Location
    Belgie
    Posts
    4,666
    iTrader
    0
    Mentioned
    0 Post(s)
    Reputation
    0/15
    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  

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  

Log in

Log in