Send message via lync using powershell - powershell

Is there a way to send message to lync via powershell. My scenario is like this.
My teammate may request for some task and i will initiate the powershell script to complete that task. It will send mail at the end. Instead of mail if it sends message via Lync it will be much more intuitive. Is there a way to do ?

Sure, you'll need to install the Lync SDK first. You can then use powershell to create SDK objects and use them as you would in a .NET application.
This article walks through the process nicely - http://blogs.technet.com/b/csps/archive/2011/05/05/sendim.aspx

Related

Client settings need to be updated to Microsoft Exchange. For more info see https://x.co/client

I am using my email and password to send email using python script. But I am not able to send mail since past couple of weeks.
I debugged and found error.
Msg: b"Your message wasn't delivered because your client settings need to be updated to Microsoft Exchange. For more info see https://x.co/client"
on windows machine using outlook I also updated my email to Microsoft Exchange but still my problem is not resolved.
Can someone guide me on this?
Note: From outlook web and app email send/receive both are working fine. problem is only with script smtp.
Main Purpose is to use same details with flask-mail in flask project.
MAIL_SERVER="smtpout.secureserver.net"
MAIL_PORT=465
MAIL_USE_SSL=1
MAIL_USERNAME="______________"
MAIL_PASSWORD="______________"

I try to connect my self to outlook with pywin32 python but i don't want to use the application

To be clear, i want to use this line of code
outlook = win32com.client.Dispatch("Outlook.Application").GetNamespace("MAPI")
but i do not want to use the outlook application.
I want to connect myself to outlook.office365.com. Not to Outlook.Application because I have to use my code on Linux and Outlook application isn't on Linux.
But I still want to use win32com because he reads very clearly email.
Can someone help me ? because I don't find how to do it !
The line of code you are referring to is specific to the desktop edition of Outlook and Windows:
outlook = win32com.client.Dispatch("Outlook.Application").GetNamespace("MAPI")
You may consider using Graph API instead.
For the on-premise exchange accounts you may consider using EWS, see Explore the EWS Managed API, EWS, and web services in Exchange for more information.

Send an e-mail from an exchange server with powershell

Is it possible to send an e-mail from an exchange server trough powershell? I need to send a message every morning when a certain event happens while checking a sql database.
Best regards,
Thijs
Yes it is possible, all you need is SMTP server name
https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.utility/send-mailmessage?view=powershell-6
Further, you can schedule the powershell script, daily in task scheduler.
https://blog.netwrix.com/2018/07/03/how-to-automate-powershell-scripts-with-task-scheduler/

How to send email within an NSIS installer?

Background:
For our software product (web application) clients will need to request a license from us before installing it.
We would need to check if they are a paying client (a manual process at the moment).
I need the ability for one of the initial steps of my installer to be let user request license via a custom page in the NSIS installer.
They would put in some mandatory fields and then this would get fired off in an email.
Ideally, NSIS would let them know that the email had successfully been sent.
They would then exit the wizard, but when we verify who they are and send them a serial (few days later), they can run installer again, and there would be an option to enter the serial, allowing them to progress to the next screen.
Ideally, the custom page will look something like this.
Question:
It is the emailing bit that I am currently stumped on.
I have not seen any plugins to do this.
How can I send an email from a custom page in NSIS?
- I imagine there might be a couple of approaches?
Probably best way to send emails is to use external application.
You can develop simple application in C/C++/C# if you have some programming skills, but there exist many apps for this purpose, e.g try this one called bmail:
http://www.beyondlogic.org/solutions/cmdlinemail/cmdlinemail.htm
C:\>mail -s smtp.server -t cpeacock#max -f root#neptune -h -a "Subject e.g. Fatal Error"
-b "Body of message e.g. Fatal Error occurred in cgi script, secure.cgi"
Simply use nsExec plugin to call this .exe with your desired parameters.
Alternatively create.bat file with appropriate parameters, unpack it to $PLUGINS directory together with bmail.exe and launch the .bat using ExecWait command from NSIS.
For creating custom page try this tool for NSIS: http://www.graphical-installer.com - it allows you to create skinned installer with custom page you need.

Scheduled Tasks for Web Applications

What are the different approaches for creating scheduled tasks for web applications, with or without a separate web/desktop application?
If we're talking Microsoft platform, then I'd always develop a separate Windows Service to handle such batch tasks.
You can always reference the same assemblies that are being used by your web application to avoid any nasty code duplication.
Jeff discussed this on the Stack Overflow blog -
https://blog.stackoverflow.com/2008/07/easy-background-tasks-in-aspnet/
Basically, Jeff proposed using the CacheItemRemovedCallback as a timer for calling certain tasks.
I personally believe that automated tasks should be handled as a service, a Windows scheduled task, or a job in SQL Server.
Under Linux, checkout cron.
I think Stack Overflow itself is using an ApplicationCache expiration to run background code at intervals.
If you're on a Linux host, you'll almost certainly be using cron.
Under linux you can use cron jobs (http://www.unixgeeks.org/security/newbie/unix/cron-1.html) to schedule tasks.
Use URL fetchers like wget or curl to make HTTP GET requests.
Secure your URLs with authentication so that no one can execute the tasks without knowing the user/password.
I think Windows' built-in Task Scheduler is the suggested tool for this job. That requires an outside application.
This may or may not be what you're looking for, but read this article, "Simulate a Windows Service using ASP.NET to run scheduled jobs". I think StackOverflow may use this method or it was at least talked about using it.
A very simple method that we've used where I work is this:
Set up a webservice/web method that executes the task. This webservice can be secured with username/pass if desired.
Create a console app that calls this web service. If desired, you can have the console app send parameters and/or get back some sort of metrics for output to the console or external logging.
Schedule this executable in the task scheduler of choice.
It's not pretty, but it is simple and reliable. Since the console app is essentially just a heartbeat to tell the app to go do its work, it does not need to share any libraries with the application. Another plus of this methodology is that it's fairly trivial to kick off manually when needed.
Use URL fetchers like wget or curl to make HTTP GET requests.
Secure your URLs with authentication so that no one can execute the tasks without knowing the user/password.
You can also tell cron to run php scripts directly, for example. And you can set the permissions on the PHP file to prevent other people accessing them or better yet, don't have these utility scripts in a web accessible directory...
Java and Spring -- Use quartz. Very nice and reliable -- http://static.springframework.org/spring/docs/1.2.x/reference/scheduling.html
I think there are easier ways than using cron (Linux) or Task Scheduler (Windows). You can build this into your web-app using:
(a) quartz scheduler,
or if you don't want to integrate another 3rd party library into your application:
(b) create a thread on startup which uses the standard Java 'java.util.Timer' class to run your tasks.
I recently worked on a project that does exactly this (obviously it is an external service but I thought I would share).
https://anticipated.io/
You can receive a webhook or an SQS event at a specific scheduled time. Dealing with these schedulers can be a pain so I thought I'd share in such case someone is looking to offload their concerns.