all scripts

This commit is contained in:
Alexpolo1
2023-03-09 09:06:25 +01:00
parent 49b677d254
commit bf7c3012b7
115 changed files with 68517 additions and 0 deletions

69
grab_cm_excel_dates.ps1 Normal file
View File

@@ -0,0 +1,69 @@
#Declare data
Add-Type -Assembly "Microsoft.Office.Interop.Outlook"
$Data = Import-Excel -WorkSheetName "New_Outline" -NoHeader -DataOnly "\\thalesgroup.local\shares\Public\_TogD\03_Release_Management\Planning with I&O\2023\Weekly planning W08-W10-2023_MoM.xlsx"
#$Data = Import-Excel -WorkSheetName "New_Outline" -NoHeader -DataOnly "C:\Users\a.warme\Downloads\AlexScriptData2.xlsx"
$CsvData= Import-CSV -Path "C:\Users\a.warme\Documents\csvcheckfile\Outfile.csv"
#Declare Outlook information
$Ol = New-Object -ComObject Outlook.Application
#emails
$AllanEmail="allan.schwedler@urbanandmainlines.com"
$MartinEmail="martin.nielsen@urbanandmainlines.com"
$AlexanderEmail="alexander.warme@urbanandmainlines.com"
#P2 - Tasks
#P3 - Owner
#P4 - Platform
#P5 - DateTime
#P9 - Task Category
#foreach loop to create an appointment for each row in excel
foreach ($Row in $Data) {
if ($Row.P1 -eq "New"){continue}
if ($CsvData | Where-Object -Property Subject -eq $Row.P2 -WarningAction SilentlyContinue){continue}
# Import the Outlook interop assembly
$Appointment = $Ol.CreateItem(1)
$SubjectTitle = $Row.P2 + " " + $Row.P4 + " " + $Row.P9
$SubjectTitle
$Appointment.Subject = "$SubjectTitle"
$Appointment.Body = $Row.P2 + " " + $Row.P3 + " " + $Row.P4 + " " + $Row.P9
$Appointment.Location = $Row.P4
$Appointment.ReminderSet = $true
$Appointment.Importance = 1
$Appointment.MeetingStatus = [Microsoft.Office.Interop.Outlook.OlMeetingStatus]::olMeeting
#assign email to owner on appointment
switch($Row.P3) {
Allan {$Appointment.Recipients.Add($AllanEmail)}
Martin {$Appointment.Recipients.Add($MartinEmail)}
Alexander {$Appointment.Recipients.Add($AlexanderEmail)}
default {$Appointment.Recipients.Add($AlexanderEmail)}
}
$Appointment.ReminderMinutesBeforeStart = 15
$Appointment.Start = $Row.P5.AddHours(8)
$Appointment.Duration = 480
$Appointment.Send()
#consistency
$ArrayQ = @([PSCustomObject]@{Subject = $Row.P2 ; Id = 1 })
#Export - Append the data to the existing file ("ExportFile.csv") or create a new file if it does not exist
$ArrayQ | Export-CSV "C:\Users\a.warme\Documents\csvcheckfile\Outfile.csv" -Append -NoTypeInformation
}
#to destingush weeks and tasks
#regex this : Weekly planning ([A-Za-z0-9]+(-[A-Za-z0-9]+)+)_
# with file name to link previous tasks and weeks.