< Back

ConvertTo-Ics

Mon Jan 13, 2020 5:17 am

NAME ConvertTo-Ics



SYNOPSIS

Convert PSConf.EU 2017 Agenda to .ics format





SYNTAX

ConvertTo-Ics -DTStart <DateTime> -DTEnd <DateTime> -Summary <String> [-Location <String>] [-SpeakerList <String>]

[-Description <String>] [-UID <String>] [-Reminder <Int32>] [<CommonParameters>]



ConvertTo-Ics -DTStart <DateTime> -Duration <Int32> -Summary <String> [-Location <String>] [-SpeakerList <String>]

[-Description <String>] [-UID <String>] [-Reminder <Int32>] [<CommonParameters>]





DESCRIPTION

This module was created for the http://www.powertheshell.com/agendacompetition/

It pulls down the json file at powershell.love using the oneliner

(iwr powershell.love -UseB).Content.SubString(1) | ConvertFrom-Json | %{$_}

and converts the output to a .ics file that can be used by e.g. Outlook.





PARAMETERS

-DTStart <DateTime>

Start Time of event



Required? true

Position? named

Default value

Accept pipeline input? true (ByPropertyName)

Accept wildcard characters? false



-DTEnd <DateTime>

End Time of event



Required? true

Position? named

Default value

Accept pipeline input? true (ByPropertyName)

Accept wildcard characters? false



-Duration <Int32>

Duration (event duration in minutes)



Required? true

Position? named

Default value 0

Accept pipeline input? true (ByPropertyName)

Accept wildcard characters? false



-Summary <String>

Summary / subject of event



Required? true

Position? named

Default value

Accept pipeline input? true (ByPropertyName)

Accept wildcard characters? false



-Location <String>

Location of event



Required? false

Position? named

Default value

Accept pipeline input? true (ByPropertyName)

Accept wildcard characters? false



-SpeakerList <String>

Speakers



Required? false

Position? named

Default value

Accept pipeline input? true (ByPropertyName)

Accept wildcard characters? false



-Description <String>

Description of event



Required? false

Position? named

Default value

Accept pipeline input? true (ByPropertyName)

Accept wildcard characters? false



-UID <String>

UID of event - Global uniqui identifier see: 5.3. UID Property in https://tools.ietf.org/rfc/rfc7986.txt

(This is a bad test implementation)



Required? false

Position? named

Default value

Accept pipeline input? true (ByPropertyName)

Accept wildcard characters? false



-Reminder <Int32>

Reminder Number of minutes



Required? false

Position? named

Default value 0

Accept pipeline input? false

Accept wildcard characters? false



<CommonParameters>

This cmdlet supports the common parameters: Verbose, Debug,

ErrorAction, ErrorVariable, WarningAction, WarningVariable,

OutBuffer, PipelineVariable, and OutVariable. For more information, see

about_CommonParameters (https:/go.microsoft.com/fwlink/?LinkID=113216).



INPUTS



OUTPUTS



NOTES





This function was written in a hurry and dosn't comply 100% with https://icalendar.org/validator.html



The GitHub repository is located here https://github.com/mrhvid/ConvertTo-Ics

Ideeas are apreciated. (I intend to update the module to be more general after the conference)



- Jonas Sommer Nielsen



-------------------------- EXAMPLE 1 --------------------------



PS C:\\>$(IRM powershell.beer -UseB) | ConvertTo-ics



Convert the .json file and output to terminal









-------------------------- EXAMPLE 2 --------------------------



PS C:\\>$(IRM powershell.beer -UseB) | ConvertTo-ics -Reminder 12



Convert the .json file and output to terminal add a 12 min reminder to all events.









-------------------------- EXAMPLE 3 --------------------------



PS C:\\>$(IRM powershell.beer -UseB) | ConvertTo-ics | Set-Content -Path Test.ics -Encoding Default



Convert the .json file and save to Test.ics









-------------------------- EXAMPLE 4 --------------------------



PS C:\\>$(IRM powershell.beer -UseB) | ogv -PassThru | ConvertTo-ics



Use Out-GridView to filter what events to convert









-------------------------- EXAMPLE 5 --------------------------



PS C:\\>$(IRM powershell.beer -UseB) | ogv -PassThru | ConvertTo-ics | Set-Content -Path Test.ics -Encoding Default



Use Out-GridView to filter what events to convert save to Test.ics









-------------------------- EXAMPLE 6 --------------------------



PS C:\\>$(IRM powershell.beer -UseB) | Where Category -Like '*pester*' | ConvertTo-ics



Filter by Category all containing "pester" and convert











RELATED LINKS