Azure Automation
delivers a cloud-based automation and configuration service that provides
consistent management across your Azure and non-Azure environments. It consists
of process automation, update management, and configuration features. Azure
Automation provides complete control during deployment, operations, and
decommissioning of workloads and resources. This article provides a brief
overview of Azure Automation and answers some common questions. For more
information about the different capabilities, visit the links throughout this
overview.
We have a project that requires a back end scheduled job using PowerShell scripts to process many SharePoint online list items and send notifications. We have evaluated the Azure function, Webjob, and Azure automation. Azure automation looks like the best fit. Since this is the first time we are using Azure automation, there are few tips we would like to share so you could jump start this good feature. You should check best practice here first before going forward.
1. How to import packages required for PowerShell?
Since we need to use Microsoft.SharePoint.Client CSOM packages, we need to to use two package dlls listed below.
Microsoft.SharePoint.Client.dll
Microsoft.SharePoint.Client.Runtime.dll
This is the way to upload the packages to Azure. You need to zip the dlls into a single zip file. I've zipped them into one file named Microsoft.SharePoint.Client.zip.
Then search the "mudule" in the Azure automation account. Click "Add a mudule". Select the zip file you like to add. The module will be uploaded for you to use as listed below.
2. How to refer the dlls uploaded to module?
You can refer the dlls using the following syntax. Please note the uploaded zip file name "Microsoft.SharePoint.Client" in the path.
Add-Type -Path "C:\Modules\User\Microsoft.SharePoint.Client\Microsoft.SharePoint.Client.dll"
3. How to use encrypted password in the scripts?
In most cases Azure automation needs to connect to external system with user name and password. We could save the password in the Azure automation account object "Credentials". You can add a credential as in the below screenshot.
Then you can use the password in the PowerShell like this.
$creds = Get-AutomationPSCredential -Name 'halotest'
$userName = $creds.UserName
$password = $creds.Password
$cred = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($userName, $password)
$ctx.Credentials = $cred
4. How to write the standard output?
You need to change "Write-Host" to "Write-Output" to print out to console. One example is listed below.
write-Output "Connection to SPO successfully " $web.Title
5. How to invoke other PowerShell from PowerShell?
You need to create PowerShell runbook for each PowerShell first. Then refer the other PowerShell like listed below. Please note the slash instead of back slash.
./AnotherPowerShelll.ps1
Please note the PowerShell refereed need to be published first!
Now, you should have few PowerShell to run and configure as schedule job.
Excellent article. Very interesting to read. I really love to read such a nice article. Thanks! keep rocking. Azure Online Training Bangalore
ReplyDeleteThanks for posting the useful information to my vision. This is excellent information.
ReplyDeleteMS Azure Online Training
Thank you, very helpful
ReplyDeletemmorpg oyunlar
ReplyDeleteinstagram takipçi satın al
tiktok jeton hilesi
tiktok jeton hilesi
antalya saç ekimi
instagram takipçi satın al
İNSTAGRAM TAKİPÇİ
metin2 pvp serverlar
instagram takipçi satın al
En son çıkan perde modelleri
ReplyDeletesms onay
mobil odeme bozdurma
Nft Nasıl Alınır
ankara evden eve nakliyat
trafik sigortası
dedektör
web sitesi kurma
aşk kitapları