2014-09-25 2 views
1

현재 회의 시간을 늘리는 동안 회의 초대장을 보낼 수있는 기능이있는 powershell 스크립트를 해킹하고 있습니다 (예 : 9:00 회의에 첫 번째 초대장을 보내는 경우 2 차 회의는 9시 30 분에 발송됩니다).outlook powershell - 회의 시작 시간을 늘리십니까?

지금까지 내가 가지고있는 것입니다. 나는 회의에 시간을 추가하지만 임 가진되는 문제에

$emails = get-content emails.txt 
$olAppointmentItem = 1 
$o = new-object -comobject outlook.application 
foreach ($element in $emails){ 
    $a = $o.CreateItem($olAppointmentItem) 
    $a.meetingstatus=[Microsoft.Office.Interop.Outlook.olMeetingStatus]::olMeeting 
    $a.meetingstatus.olMeeting 
    $a.Start = [datetime]::ParseExact("09:00","hh:mm",$null) 
    $a.Duration = 30 
    $a.Subject = "Test Meeting" 
    $a.Body = "Just a test, please accept, then delete." 
    $a.Location = "Here" 
    $a.ReminderMinutesBeforeStart = 15 
    $a.ReminderSet = $True 
    $a.recipients.add($element) 
    $a.ForceUpdateToAllAttendees =$True 
    $a.send() 
    $a.Start.AddMinutes(+30) 
} 
$result = $a.Save() 
+0

olMeetingStatus의 O는 대문자이어야하므로 [Microsoft.Office.Interop.Outlook.OlMeetingStatus]가됩니다. 대부분 PowerShell에서 대소 문자는 중요하지 않지만이 경우에는 C# 네임 스페이스를 참조하기 때문에 발생합니다. 나는 회의가 왜 보내지 않을지 알아 내려고 노력하면서 내 머리카락을 끌어 당기는 시간을 낭비했다. 나는 대답을 편집하려고 노력할 것이다. 그러나 그것이 받아 들일 수없는 경우에 대비하여, 나는 여기에서 설명하고 싶었다. – Skurfur

답변

0

.AddMinutes() 작품을 (회의에서 작동하는 것 나던 AddMinutes()가 시작 시간 초대)이 TEXTFILE에서 이메일의 목록을 읽고 초대를 보낼 수 있습니다 [DateTime] 개체와 나는 무엇을 .Start 받아 들일지 또는 그것을 읽을 수 있는지 확인해야 할 것입니다. 이론상으로 $a.Start.AddMinutes(+30)Thursday, September 25, 2014 9:30:00 AM과 비슷한 객체 인 [datetime]을 반환합니다. 당신은 아무것도 그것에 할당하지 않습니다.

이에 대한 기본적인 접근 방식은 변경 아래로 당신이 시도 할 경우 아래

$900am = [datetime]::ParseExact("09:00","hh:mm",$null) 
$a.Start = $900am 

그런 다음 자신의 변수에 처음으로 저장하는 것이 당신이 할 수 있습니다 :

$a.Start = $900am.AddMinutes(30) 

또는하지를 변수에 신경 써서 ParseExact 메서드를 다시 호출하면됩니다.

$a.Start = ([datetime]::ParseExact("09:00","hh:mm",$null)).AddMinutes(30) 

나는 당신의 논리가 그래서 난 그 테스트를해야 할 것입니다하지만 위에서 확실히 시간 조작에 도움이 보유하고있는 경우 잘 모릅니다.

+0

답장을 보내 주셔서 감사합니다. emails.txt에서 개인에게 보낸 마지막 초대에 30 분이 추가되지만 30 분은 다른 약속에는 적용되지 않습니다. PowerShell을 처음 접했을 때 (코드에서 알 수 있듯이), Im 궁금합니다. foreach가이 작업을 수행하는 가장 좋은 방법입니까? – Gsinfie