![Blue Hippo](/img/default-banner.jpg)
- 17
- 198 203
Blue Hippo
Denmark
Приєднався 16 вер 2020
A channel where blue hippos do tech
Managed Identity With PowerShell And Azure Automation Accounts
Join me in creating an automation account and using managed identity to connect to Azure, ExchangeOnline and Graph in this practical powershell example where we'll discuss how to connect, how to add permissions to a service principal and also a little bonus tip on how to get an access token for graph using Az and managed identity with the Get-AzAccessToken cmdlet.
The way you use managed identities in an automation account is the same as in an a powershell azure function app.
Github: github.com/BlueHippoGithub/ManagedIdentityCommands
Credit:
www.thelazyadministrator.com/2022/09/09/connect-to-exchange-online-powershell-with-an-azure-managed-identity/
techcommunity.microsoft.com/t5/azure-integration-services-blog/grant-graph-api-permission-to-managed-identity-object/ba-p/2792127
Documentation:
learn.microsoft.com/en-us/entra/identity/managed-identities-azure-resources/how-manage-user-assigned-managed-identities?pivots=identity-mi-methods-azp
learn.microsoft.com/en-us/entra/identity/managed-identities-azure-resources/overview
Chapters:
0:00 Creating Azure Resources
0:21 Installing Modules
1:09 Enabling Managed Identity
1:52 Connecting To Az, Exchange and Graph with PowerShell
3:15 Permissions for ExchangeOnline
3:46 Assign Exchange.ManageAsApp
5:10 Permissions for Az and Graph
6:18 See Permissions in Azure Portal
6:31 Test Permissions in Automation Account
The way you use managed identities in an automation account is the same as in an a powershell azure function app.
Github: github.com/BlueHippoGithub/ManagedIdentityCommands
Credit:
www.thelazyadministrator.com/2022/09/09/connect-to-exchange-online-powershell-with-an-azure-managed-identity/
techcommunity.microsoft.com/t5/azure-integration-services-blog/grant-graph-api-permission-to-managed-identity-object/ba-p/2792127
Documentation:
learn.microsoft.com/en-us/entra/identity/managed-identities-azure-resources/how-manage-user-assigned-managed-identities?pivots=identity-mi-methods-azp
learn.microsoft.com/en-us/entra/identity/managed-identities-azure-resources/overview
Chapters:
0:00 Creating Azure Resources
0:21 Installing Modules
1:09 Enabling Managed Identity
1:52 Connecting To Az, Exchange and Graph with PowerShell
3:15 Permissions for ExchangeOnline
3:46 Assign Exchange.ManageAsApp
5:10 Permissions for Az and Graph
6:18 See Permissions in Azure Portal
6:31 Test Permissions in Automation Account
Переглядів: 195
Відео
How You Can Use The Microsoft Graph API in C#
Переглядів 14 тис.8 місяців тому
Join me in taking a look at how you can use the Graph API/SDK alongside C# in your projects. In this video we'll cover how to find the calls you need to make, what permissions you'll need, how to create an entreprise application, what packes are needed and a few examples of how you can call the API using the SDK in C#. We're using a client secret to connect as an application, in case you want t...
Office 365 IMAP OAuth With C#
Переглядів 21 тис.Рік тому
Now that basic authentication has been removed from exchange online, a lot of apps have broken and need to be switched over to using OAuth 2.0, this video covers an easy and simple way of doing so in C# View the source code here: github.com/BlueHippoGithub/IMAP-OAuth-2.0-Example Codewrecks video: ua-cam.com/video/bMYA-146dmM/v-deo.html Read more about the deprecation: learn.microsoft.com/en-us/...
Reverse Proxy And Auto SSL Using Caddy And Docker Compose
Переглядів 43 тис.Рік тому
In this video we're taking a look at how to setup caddy2 with docker compose and what you need to get it up and running. We'll cover the docker compose file, how to make sure the docker network is setup properly, how to create the caddyfile and how to setup DNS and forward the ports in case you're hosting it on your own server. Docker compose file: gist.github.com/BlueHippoGithub/1a6b6569cea852...
Screenshot Any Window With C#
Переглядів 6 тис.Рік тому
This video will go over how you can use C# to manipulate the windows clipboard and take screenshots of any application you have open on your computer. Demo project | github.com/BlueHippoGithub/ScreenshotDemo Music | Dylan Sitts - Cupcake Delivery
Create Scheduled Tasks With C#
Переглядів 17 тис.2 роки тому
A short video showing how you can easily create scheduled tasks on a windows machine from C# programmatically, an example usage could be an auto updater or maybe your application registers itself to auto launch alongside the machine as an administrator. Let me know in the comments if you have suggestions for videos you'd like to see me make in the future. Task Scheduler by David Hall: github.co...
How To Use PowerShell in C#
Переглядів 23 тис.2 роки тому
A short guide on how you can quickly get started using PowerShell in C# and capture the output. If you just want to see the code, check out the project on GitHub below GitHub: github.com/BlueHippoGithub/How-to-use-PowerShell-with-C-Sharp
Stream Deck - Version 1
Переглядів 1,5 тис.2 роки тому
I used a Raspberry Pi Pico to create a "stream deck" prototype. I ended up using the standard SSD1306 OLED screens along with a multiplexer to send data to the screens as the pico "only" has 2 i2c controllers. In case you haven't already, be sure to check out the much more professional looking FreeDeck project which is where I got the idea, I just wanted to do it with a pico instead so I could ...
A Look At Automatic Setup Of The Raspberry Pi
Переглядів 1,2 тис.2 роки тому
In this video we're taking a look at how you can setup your raspberry pi(s) automatically. We're going to configure and add files on the boot section of a flashed SD card which is the section we can see on windows. github.com/BlueHippoGithub/unattended-pi-setup Song: Rival - Throne (ft. Neoni) (Lost Identities Remix) [NCS Release] Music provided by NoCopyrightSounds Free Download/Stream: NCS.io...
Send Push Notifications From Your Raspberry Pi!
Переглядів 12 тис.3 роки тому
A colleague of mine is always doing IOT and server projects, he told me about a project known as gotify which is a self hosted, open source project for sending push notifications. This is a quick overview of how to use it on a raspberry pi with python and curl. Links: Github: github.com/gotify/server API Docs: gotify.net/api-docs APP: play.google.com/store/apps/details?id=com.github.gotify
Create Your Own Voice Model - Snowboy
Переглядів 1,5 тис.3 роки тому
All commands used are in a pastebin Today we'll be taking a look generating custom voice models for use with the snowboy project. Links: github.com/seasalt-ai/snowboy pastebin.com/ZvUgZ8ah
Using Variables In Django - A Simple Example
Переглядів 1,8 тис.3 роки тому
In this video we'll explore how to use variables within django, this means we'll pass variables from python to the HTML file in the django application. This is necessary as you have all the logic in python and then show it properly using HTML. Using Python Functions in Django - ua-cam.com/video/4VHtGm-4iBw/v-deo.html
Web browser automation on a Raspberry Pi
Переглядів 4,1 тис.3 роки тому
All commands used are in the description Running selenium on a Raspberry Pi, fast and easy. Commands sudo apt-get update && sudo apt-get upgrade sudo apt-get install chromium-chromedriver pip3 install selenium sudo nano yt_selenium.py crontab -e @reboot env -i DISPLAY=:0.0 /usr/bin/python3 /home/pi/yt_selenium.py
Triggering Python Scripts With Django
Переглядів 42 тис.3 роки тому
In this video we'll explore how to use django to trigger functions within python to provide functionality such as controlling the GPIO on a pi with a website using django. Basic Django Setup - ua-cam.com/video/UmljXZIypDc/v-deo.html Song: Inukshuk - Too Far Gone [NCS Release] Music provided by NoCopyrightSounds Free Download/Stream: ncs.io/TooFarGone Watch: ua-cam.com/video/60XUgHQo71Q/v-deo.html
Raspberry Pi Headless - Connecting and uploading files with SSH & FTP
Переглядів 2,6 тис.3 роки тому
This tutorial covers the basics you need to run your pi headless. You'll learn to turn on SSH by default even before your first boot, so you never have to connect a screen, then we'll go over how to find the IP of your pi so you can connect to it with SSH and upload files with FTP. Download links to programs mentioned Nmap - nmap.org/download.html Etcher - www.balena.io/etcher/ Raspberry Pi OS ...
Using custom hotwords on a Raspberry Pi with Snowboy
Переглядів 1,9 тис.3 роки тому
Using custom hotwords on a Raspberry Pi with Snowboy
How to add syntax highlighting to your website in 6 minutes
Переглядів 7 тис.3 роки тому
How to add syntax highlighting to your website in 6 minutes
What about sending emails? Isn't IMAP only for incoming?
Yeah it is, normal SMTP still works, this approach is only for IMAP.
@@bluehippotech didn t MS remove basic auth for SMTP? Question is: can we get the token the way you described and use it to send email? This is what the stackoverflow article with the link to this video says
You can absolutely send mails with graph and an access token, what article on stack overflow are you referring to though? learn.microsoft.com/en-us/graph/api/user-sendmail?view=graph-rest-1.0&tabs=http
Thank you sir
Thanks for watching!
I want to retrieve data from microsoft viva using microsoftgraph api and place them on the console in c#. How is this possible ?
thanks for your video, can you make a video on how to upload a file to a SharePoint with MSGraph in C#?
Hmm that's not a bad idea for a short video. There's two graph endpoints for uploading files to sharepoint/onedrive, one for small files and one for big files
@@bluehippotech Can you give me those two endpoints?
I just need to correct two things in this guide. First, it's not the container name that you specify on your Caddyfile - it's the service name. Second, it's the container port that you specify on the Caddyfile not the host port - which means it's the one of the right side: HOST_PORT:CONTAINER_PORT. What was highlighted in this video is the host port which is incorrect.
spent hours it does not work, nginx proxy manager is too easy compared to this. I have just 2 lines mapping a subdomain & an email for certificate gen, the ip:port works but caddy fails to connect my sub-domain.
can you send me the binary file put on h if you have this use which to find where it is put on github and post link without the hhtp tags parts so it dont get filtered for me
ay@jnetai:~ $ sudo apt install -y chromium-chromedriver Reading package lists... Done Building dependency tree... Done Reading state information... Done E: Unable to locate package chromium-chromedriver
Using the clipboard erases the user clipboard and allocates additionnal space. System.Graphics.CopyFromScreen uses already existing memory as it's accessing to Windows Forms's swap buffer.
I really hope you haven't stopped making YT videos. I'm also in need of that multi tenant video, please.
What if I use Exchange Online without an Azure AD? I have a local AD...
That won't make a difference as long as you use exchange online for your mails
Do you maybe know if I can send emails via GraphApi to recepient with email domain from third party providers like Gmail?
I have not tried yet but this is brilliant, thanks for the good video editing and information. I will try it to see how it works on my side.
Thanks for watching!
Thank you, that's good for me.
Thank you very much!!! this video helped me a lot :)
Thank you for this. I was going around in circles with the Microsoft documentation but this helped a lot! I'll save my resignation letter for another day!
Haha I'm glad to hear it helped!
This is what I need but stuck on New-ServicePrincipal - is not recognized as the name of a cmdlet...
You need to login using the connect-exchangeonline cmdler first, hope that helps
Good Day . Is the TaskScheduler library safe to use?. Is it an official Microsoft library? Regards, AverageGuy
Thank you :) Nice introduction.
Volume caddy_data declared as external, but could not be found. Please create the volume manually using `docker volume create --name=caddy_data` and try again.
Yeah that happens when the volume isn't declared anywhere. If you're using docker compose you can declare it there, otherwise run the command it tells you to
Very nice and helpful. I would just like to point out to other noobs that the compose file installs the portainer. In the video you had it running before running the compose and assumed that I had to install portainer 1st.
Completely true, I'm glad you found it helpful!
Freakin lifesaver
this method is working on server run in command prompt but hosted the application in iis server after it is not triggers
Thanks so much for the tutorial! I was stuck for a while with no output on the console, but after looking at your code I realized I forgot the "!" in the last if statement which caused my console to output nothing.
Amazing video. Props for being str8 to the point ❤
Thanks for watching!
Thank you! Very useful!
Please can you create a video on how to authenticate using delegate permission
Hello, I managed to create the folder but failed to create the task. It keeps giving me this error: (35,4):Task: I know it has something to do with access credential or something, but I still got nothing. Do you know how to make this work?
Is the application being ran as admin?
@@bluehippotech It's an ASP Web app
@@bluehippotech It's an ASP Web App
@@bluehippotech Not console app but web app
And are you running it locally on your machine in dev? If so try running it as admin.
Noob question here :0 Does Caddy have the "DNS-Proxy" feature that Cloudflare provides? I'm trying to host a docker container on port 8888 & hide my original IP while at it (Cloudflare Enterprise Spectrum Plan supports any TCP Port but is just too expensive)
Love how concise this explanation is ❤
Can you do a video for multitenant?
I followed your video closely and went through all the steps. I get an error in GraphHandler row 33: return await GraphClient.Users[userPrincipalName].GetAsync() Error: Microsoft.Graph.Models.ODataErrors.ODataError: 'Exception of type 'Microsoft.Graph.Models.ODataErrors.ODataError' was thrown.' but no further information. What can be done to find it and correct it. Thanks
Maybe no user could be found with said user principal name? Try returning all users instead and see if the connection works properly
same error
wow. that's shockingly easy. but is this secure? how can I make sure of security?
What part of the setup are you referring to? The ssl certificate is let's encrypt, you only open two ports. The rest is up to the security of your network and your server. If what you're afraid of is using your own IP on a public domain you can use a hosting provider
Nice short and sweet. Can this easily be converted to work in a winform?
Absolutely it can
great video mate!! do you know how to add new users with licence and then add new usert to group?
Thanks for watching the video! I would suggest looking at the ms documentation, they have examples on all three of those things. learn.microsoft.com/en-us/graph/api/user-post-users?view=graph-rest-1.0&tabs=http learn.microsoft.com/en-us/graph/api/user-assignlicense?view=graph-rest-1.0&tabs=http learn.microsoft.com/en-us/graph/api/group-post-members?view=graph-rest-1.0&tabs=http
how do you do it for excel
What are you trying to do?
Can you use the Graph API without a paid subscription to Azure?
I'm not quite sure what the purpose would be. If you're just testing stuff you can make a dev tenant, otherwise without a subscription it would be empty
Great Video!, Can you do a video creating a folder in One Drive with Microsoft Graph?
Thanks for the kind words! In graph, onedrive is just the same as sharepoint so i would suggest taking a look at creating a folder in SharePoint with the graph api as shown in the below documentation. learn.microsoft.com/en-us/graph/api/driveitem-post-children?view=graph-rest-1.0&tabs=http
Hi Brother . I have a doubt about AZURE AD AUDITLOG read all So, In My code I am trying to get my auditlog and store in local through that I done successfully (ONLY i enable auditlog.read.all -> permission enable in azure give grant consent all are done bby azure portal) But what I want is , I need to give permission through my code while fetching subscription and app details id like that stuff. SO i give permission in my C# Code then, I get audit lof.
This was a great video, I would like to see a video on multi tenant supported app registrations.
Thank you,🙏 your tutorial helped me a lot!
How do I get all of the columns in a SharePoint list and their data? . Thank you
You would get the list using graph, the documentation on lists in SharePoint is quite good. learn.microsoft.com/en-us/graph/api/list-get?view=graph-rest-1.0&tabs=csharp
thanks for this video! if i want to update caddy and portainer i would just do a "docker-compose up --force-recreate --build -d" and everything should run like before besides different container ids?
Yeah it should, if the caddy file and everything is working it will run as before unless there's a version change that has broken something
I'm very close to having it figured out. I still have to type in the specific port I want to reach after my domain name instead of a url.
By default your browser will assume webpages to be on port 80 for http and 443 for https. That might be the reason you're stuck with having to write the port number?
It seems Microsoft renamed Azure Active Directory admin center to Microsoft Entra. You may need to look in "All admin centers" Then in Entra, Identity -> Applications -> App registrations
LOVE YOU
how to set up this for local access only
When setting up the dns part you can use the local ip instead
Hello friend, your video was the most useful I found about TaskScheduler. But I have a really crazy problem here, maybe you can help me: How can I set "When executing the task, use the following user account:" just "Users"? Currently I can put the current user but that's not what I want, I want the task to be independent of the logged in user, something I can do manually, but do you know of any way to do this via C#? If you can help me, thank you in advance! If you can help me and need details, I am at your disposal.
I'd recommend doing it manually and then exporting the task as xml, then you can use that in the C# code
@@bluehippotech thank you very much for the recommendation.
Working like a charm, perfect, thank you.
Great Video! It really helped me build an automatic task directly from C# and to delete it, when i could not set worker services to work! Thanks!
I'm glad it helped, thanks for watching and for the kind words!