Software de programação de semana 52 [closed]

1

Estou à procura de software onde possamos configurar um cronograma de 52 semanas de tarefas e ser alertado quando uma tarefa chegar (com lembretes). Os tipos de tarefas incluiriam, por exemplo, um tipo específico de manutenção do servidor ou atualizações do Windows em um grupo específico de servidores.

Como cenário de exemplo:

Fred needs to schedule time to update the IIS web server pool and the Apache web server pool every three months. He creates an entry and sets it to reoccur every three months. Two weeks prior to the scheduled event he receives an email reminder regarding the event. At one week the security team recieves an email alert to update the servers.

Qualquer ajuda seria apreciada. Não tenho certeza se essa é uma boa pergunta para o SuperUser ou não.

    
por 666jfox777 18.03.2013 / 18:35

2 respostas

-1

Veja o que acabei usando ... Não é o ideal, mas funciona bem.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Microsoft.Exchange.WebServices.Data;
using Microsoft.Exchange.WebServices.Autodiscover;
using System.Net;

namespace program
{
    class Program
    {
        static void Main(string[] args)
        {
            // Connect to Office 365 Exchange
            ExchangeService service = new ExchangeService();
            NetworkCredential ncNetworkCredential = new NetworkCredential("user@example", "password", "");
            service.Credentials = ncNetworkCredential;
            service.AutodiscoverUrl("user@example", delegate { return true; });

            // Connect to shared mailbox and get the folder id of the calendar
            Mailbox mb = new Mailbox("[email protected]");
            FolderId fid = new FolderId(WellKnownFolderName.Calendar, mb);

            // Create a string to hold all of the email content...
            String emailBody = "";
            emailBody += "<p style=\"font-size:10pt; color: #AAA;text-align:center;\">Please do not reply to this email.</p>";

            // Create a weekly calendar view...
            CalendarView view = new CalendarView(DateTime.Now.AddDays(1).AddHours(-7),DateTime.Now.AddDays(8));
            FindItemsResults<Appointment> results = service.FindAppointments(fid, view);

            // Look through the appointments of the week.
            for (int i = 0; i < results.Items.Count; i++)
            {
                try
                {
                    // Add text to the email body.
                    emailBody += "<p>";
                    emailBody += "Task: " + results.Items[i].Subject.ToString() + "<br />";
                    emailBody += "Resource: " + results.Items[i].Location.ToString() + "<br />";
                    emailBody += "Date: " + results.Items[i].Start.ToShortDateString() + " " + results.Items[i].Start.ToShortTimeString() + "<br />";
                    emailBody += "</p>";
                }
                catch
                {
                    // Add text to the email body.
                    emailBody += "<p>";
                    emailBody += "Task: " + results.Items[i].Subject.ToString() + "<br />";
                    //emailBody += "Resource: " + results.Items[i].Location.ToString() + "<br />";
                    emailBody += "Date: " + results.Items[i].Start.ToShortDateString() + " " + results.Items[i].Start.ToShortTimeString() + "<br />";
                    emailBody += "</p>";
                }
            }

            // Line referencing the calendar.
            emailBody += "<p style=\"color: red;text-align:center;\">For more information on tasks check the \"calendar\"</p>";

            // Create a new email message.
            EmailMessage email = new EmailMessage(service);
            email.ToRecipients.Add("[email protected]");
            email.Subject = "Scheduled Tasks (" + DateTime.Now.ToShortDateString() + ")";
            email.Body = emailBody;
            try
            {
                email.Send();
            }
            catch (Exception e)
            {
                Console.WriteLine("Error: " + e);
            }
        }
    }
}
    
por 24.12.2013 / 23:41
-1

O Outlook tem um recurso de tarefa bastante útil que você pode usar.

    
por 18.03.2013 / 18:38