A nice read on ‘why you should be careful when dealing with strings’ – https://medium.com/@indy_singh/strings-are-evil-a803d05e5ce3
Get Last Modified Date without downloading the file in PowerShell
Compatibility: v5.x
$zipfile = "https://www..../xyz/test.zip"
add-type @"
using System.Net;
using System.Security.Cryptography.X509Certificates;
public class TrustAllCertsPolicy : ICertificatePolicy {
public bool CheckValidationResult(
ServicePoint srvPoint, X509Certificate certificate,
WebRequest request, int certificateProblem) {
return true;
}
}
"@
$AllProtocols = [System.Net.SecurityProtocolType]'Ssl3,Tls,Tls11,Tls12'
[System.Net.ServicePointManager]::SecurityProtocol = $AllProtocols
[System.Net.ServicePointManager]::CertificatePolicy = New-Object TrustAllCertsPolicy
#$res = Invoke-WebRequest -Uri $zipfile
$webRequest = [System.Net.HttpWebRequest]::Create($zipfile)
$webRequest.Method = "GET"
[System.Net.HttpWebResponse]$webResponse = $webRequest.GetResponse()
Write-Output $webResponse.LastModified
Getting SQL Server result set in PowerShell
Compatibility: v5.x
If you are a .NET developer then you are already familiar with this code
$connectionString = "Data Source=localhost;Integrated Security=SSPI;Initial Catalog=AdventureWorks2016CTP3"
$dt = New-Object System.Data.DataTable
$da = New-Object System.Data.SqlClient.SqlDataAdapter("SELECT TOP 10 * FROM Person.Address", $connectionString)
$da.Fill($dt)
Write-Output $dt.Rows[0]["AddressLine1"]
# or
ForEach ($dr in $dt.Rows) {
Write-Output $dr["AddressLine1"]
}
Send an Office365 SMTP mail in .NET/C#
Sending a mail using Office365 is no big deal. It is just similar to how you send a mail via any SMTP server. But you will have to mind the SMTP host, port number and remember to enable SSL in the code. Here goes the code snippet:
using (MailMessage message = new MailMessage())
{
message.From = new MailAddress("praveen@YourO365Domain.com");
message.To.Add("praveen@yourmail.com");
message.Subject = "test mail";
message.Body = "<h1>test</h1>";
message.IsBodyHtml = true;
SmtpClient client = new SmtpClient("outlook.office365.com", 587);
client.Credentials = new NetworkCredential("praveen@YourO365Domain.com", "passwordhere");
client.EnableSsl = true;
client.Send(message);
}