function Connect-OnlinePizza { [cmdletbinding()] param( [Parameter(Mandatory=$True)] [System.Management.Automation.PSCredential] $Credential) $Username = $Credential.UserName $Password = $Credential.GetNetworkCredential().Password $Request = @{'username' = $Username 'password'= $Password 'action'= 'loggain'} Invoke-WebRequest -Uri "https://onlinepizza.se/loggain" -Method Post -Body $Request -SessionVariable Global:OnlinePizzaSession -OutFile .\dump.htm $LoggedIn = Select-String -Path .\dump.htm -Pattern "inloggad som $Username" -Quiet Remove-Item .\dump.htm -Force -Confirm:$false -ErrorAction SilentlyContinue if ($LoggedIn) { Write-Verbose "You are now logged in!" } else { Write-Error "Login failed!" } } function Get-MyOnlinePizzaAccountInfo { [cmdletbinding()] param() BEGIN { if ($OnlinePizzaSession -eq $null) { Write-Error "You must first connect using the Connect-OnlinePizza cmdlet" break } } PROCESS { Invoke-WebRequest -Uri "http://onlinepizza.se/?view=andraKonto" -Method Get -WebSession $Global:OnlinePizzaSession -OutFile .\dump.htm $AccountInfo = Get-Content .\dump.htm -Encoding UTF8 Remove-Item .\dump.htm -Force -Confirm:$false -ErrorAction SilentlyContinue $Username = ((($AccountInfo | Select-String -Pattern "name=username id=username") -split "value=`"")[1] -split "`" />")[0] $AccountHolderName = ((($AccountInfo | Select-String -Pattern "name=namn id=namn") -split "value=`"")[1] -split "`"/>")[0] $AccountHolderMail = ((($AccountInfo | Select-String -Pattern "name=epost id=epost") -split "value=`"")[1] -split "`"/>")[0] $AccountHolderStreet = ((($AccountInfo | Select-String -Pattern "name=adress1 id=adress1") -split "value=`"")[1] -split "`"/>")[0] $AccountHolderPostalCode = ((($AccountInfo | Select-String -Pattern "name=postnummer id=postnummer") -split "value=`"")[1] -split "`"/>")[0] $AccountHolderPhone = ((($AccountInfo | Select-String -Pattern "name=telefon id=telefon") -split "value=`"")[1] -split "`"/>")[0] $returnObject = New-Object System.Object $returnObject | Add-Member -Type NoteProperty -Name Username -Value $Username $returnObject | Add-Member -Type NoteProperty -Name Name -Value $AccountHolderName $returnObject | Add-Member -Type NoteProperty -Name Email -Value $AccountHolderMail $returnObject | Add-Member -Type NoteProperty -Name Address -Value $AccountHolderStreet $returnObject | Add-Member -Type NoteProperty -Name PostalCode -Value $AccountHolderPostalCode $returnObject | Add-Member -Type NoteProperty -Name Phone -Value $AccountHolderPhone Write-Output $returnObject } END { } } function Get-PizzaRestaurant { [cmdletbinding()] param( [Parameter(Mandatory=$True,ValueFromPipelineByPropertyName=$true)] [int] $PostalCode) BEGIN { if ($OnlinePizzaSession -eq $null) { Write-Error "You must first connect using the Connect-OnlinePizza cmdlet" break } } PROCESS { Invoke-WebRequest -Uri "http://onlinepizza.se/postnummer/$PostalCode" -Method Get -WebSession $Global:OnlinePizzaSession -OutFile .\dump.htm $ResturantList = ((Get-Content .\dump.htm) -join "`n") -split "