PowerShell Team: Using PowerShell From a Browser to Manage Cloud Resources
This is a modal window.
The media could not be loaded, either because the server or network failed or because the format is not supported.
Formal Metadata
Title |
| |
Title of Series | ||
Number of Parts | 60 | |
Author | ||
License | CC Attribution - ShareAlike 3.0 Unported: You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal and non-commercial purpose as long as the work is attributed to the author in the manner specified by the author or licensor and the work or content is shared also in adapted form only under the conditions of this | |
Identifiers | 10.5446/37403 (DOI) | |
Publisher | ||
Release Date | ||
Language | ||
Producer | ||
Production Year | 2018 |
Content Metadata
Subject Area | |
Genre |
1
10
14
18
24
25
26
32
34
40
41
44
46
54
00:00
Web browserPoint cloudComputer programGoodness of fitWeb browserPoint cloudRight angleComputer animation
01:17
Point cloudWeb browserIntegrated development environmentGastropod shellSineProgramming languageComputer fileInformation securityIntegrated development environmentComputer animation
02:22
Point cloudWeb browserSineRWE DeaMaxima and minimaHill differential equationIRIS-TVacuumWechselseitige InformationAnnulus (mathematics)Interior (topology)Local GroupLink (knot theory)SummierbarkeitMiniDiscMenu (computing)Programmable read-only memoryStandard deviationEmailSimultaneous localization and mappingWeb browserHydraulic jumpDemo (music)Computer iconBitRight angleVirtual machineInternetworkingWeb 2.0Point cloudData storage deviceText editorMultiplicationComputer fileDifferent (Kate Ryan album)Pay televisionFile systemMultiplication signGroup actionSpeech synthesisComputer animation
06:43
Web browserPoint cloudPower (physics)Maxima and minimaConvex hullEmailComputer wormRankingGastropod shellView (database)Point cloudDifferential (mechanical device)Web browserBasis <Mathematik>Medical imagingFrame problemDefault (computer science)Goodness of fitDifferent (Kate Ryan album)Equals signDirectory serviceMobile WebCore dumpLecture/Conference
10:30
Point cloudWeb browserIntegrated development environmentWindowGroup actionData storage devicePay televisionLecture/Conference
11:11
Point cloudWeb browserAlgorithmic information theoryGastropod shellDisintegrationPoint cloudLink (knot theory)Multiplication signGastropod shellIntegrated development environmentINTEGRALCore dumpModule (mathematics)WindowConsistencyComputer animationLecture/Conference
12:52
Point cloudWeb browserVirtual realityGastropod shellDisintegrationMobile WebSoftwareRight angleWeb browserGastropod shellPoint cloudMobile WebComputer iconComputer animation
13:26
Web browserPoint cloudGastropod shellDisintegrationMobile WebExtension (kinesiology)Visual systemCodeGamma functionLink (knot theory)Power (physics)BitExtension (kinesiology)Cross-platformRevision controlLoginWeb browserPoint cloudCodeCore dumpModule (mathematics)Sinc functionLimit (category theory)Connected spaceAreaRun time (program lifecycle phase)Computer animation
14:52
Point cloudWeb browserGastropod shellDisintegrationMobile WebPower (physics)CodeBitGoodness of fitWindowComputer fileLine (geometry)Computer animationXML
16:18
QuadrilateralWeb browserPoint cloudPower (physics)Message passingService (economics)Visual systemMenu (computing)Graph coloringPoint (geometry)Extension (kinesiology)CodePoint cloudBitGastropod shellBuildingComputer animation
16:54
Power (physics)Point cloudWeb browserMessage passingGastropod shellCodeLimit (category theory)Radical (chemistry)SoftwareType theoryGastropod shellPoint cloudShift operatorSinc functionGame controllerMultiplication signComputer configurationConnected spaceComputer animation
17:54
Web browserPoint cloudCode division multiple accessDemo (music)Video game consoleMessage passingPower (physics)Point (geometry)Pay televisionData storage deviceData storage deviceService (economics)Source codeMultiplication signComputer configurationPoint cloudSet (mathematics)Default (computer science)Filesharing-SystemInformationCASE <Informatik>Electronic program guideEntire functionComputer animation
19:12
Web browserMessage passingExecution unitConvex hullPoint cloudData storage deviceFilesharing-SystemComputer fileData storage deviceInformationCodePay televisionComputer animation
20:07
Web browserPoint cloudData storage deviceMessage passingExecution unitPoint (geometry)Gastropod shellPay televisionMathematicsElectronic data interchangeUser profileSoftware testingMultiplication signExtension (kinesiology)Computer fileRadical (chemistry)Data storage deviceMathematicsTime travelPoint cloudComputer animation
21:06
LengthUser profileWeb browserPoint cloudMessage passingCodeCross-platformComputer filePoint cloudMultiplication signCustomer relationship managementComputer animation
21:44
Message passingPoint cloudWeb browserGastropod shellData storage deviceSequenceoutputRandom numberObject (grammar)SCSIUser profileComputer fileScripting languageSet (mathematics)AuthenticationBuildingUnicodeMathematicsComputer fileComputer animation
22:16
Power (physics)Point cloudWeb browserAuthenticationUser profileBuildingGastropod shellRevision controlPoint cloudProfil (magazine)Revision controlIntegrated development environmentRandomizationGastropod shellWeb applicationMessage passingUnicodeDifferent (Kate Ryan album)Computer animation
23:15
Point cloudWeb browserEmailOpen sourceEmailType theoryWebsiteVirtual machinePointer (computer programming)Group actionAddress spaceGastropod shellProjective planePoint cloudBookmark (World Wide Web)Computer animation
24:00
Revision controlAuthenticationUser profileBuildingGastropod shellPoint cloudWeb browserAsynchronous Transfer ModeLengthDirectory serviceComputer fileProcess (computing)Token ringLine (geometry)Reading (process)Web pageData compressionElectronic visual displayNetwork socketError messageSicText editorSource codePoint cloudSet (mathematics)Computer fileAxiom of choiceSinc functionComputer animation
24:55
Inheritance (object-oriented programming)Repository (publishing)Point cloudWeb browserElectronic data interchangeAutomationDirectory serviceConfiguration spaceEmailInsertion lossComputer fileGastropod shellRevision controlDefault (computer science)Object (grammar)Thread (computing)Data compressionTotal S.A.Module (mathematics)Scripting languageConstraint (mathematics)Point cloudCommitment schemeGastropod shellMathematicsWebsiteWeb applicationComputer fileDirectory serviceGoodness of fitCartesian coordinate systemComputer animation
26:27
Block (periodic table)Web browserPoint cloudHacker (term)AuthenticationBuildingGastropod shellData typePower (physics)User profilePhysical systemMenu (computing)Core dumpScripting languageComputer networkRevision controlCommutative propertyComputer fileData storage deviceModule (mathematics)CountingAverageMaxima and minimaCategory of beingRevision controlPoint cloudSoftware testingCore dumpIntegrated development environmentModule (mathematics)Local ringCuboidSinc functionVideo gameTable (information)WorkloadGastropod shellSystem administratorPoint (geometry)WindowNumberMultiplication signComputer animationLecture/Conference
29:11
Point cloudWeb browserPower (physics)Gastropod shellDemo (music)Point cloudWindowComputer animation
30:01
Demo (music)Computer filePoint cloudWeb browserDefault (computer science)Core dumpDisintegrationFeedbackCore dumpWindowLink (knot theory)Data managementPoint cloudGastropod shellDemo (music)Multiplication signText editorMathematicsDefault (computer science)BootingData storage deviceComputer fileOffice suiteAreaRight angleConnected spaceAuditory maskingProcess (computing)VideoconferencingIntegrated development environmentLine (geometry)Archaeological field surveyService (economics)Entire functionPlanningPoint (geometry)INTEGRALTerm (mathematics)MereologyComputer animation
34:21
Web browserPoint cloudExecution unitEmpennageIdentity managementStandard deviationRemote procedure callVirtual machineNetwork socketGastropod shellPoint cloud.NET FrameworkProxy serverSerial portLattice (order)Office suiteInternetworkingWeb browserLastteilungBus (computing)Connected spaceSystem administratorHypercubeRegular graphWeb 2.0Partial derivativeLoginCore dumpPlanningMultiplication signWindowGraphical user interfaceWeightCoefficient of determinationAsynchronous Transfer ModeIP addressCommunications protocolAuthenticationVideo game consoleLatent heatSlide rule
39:53
Point cloudWeb browserCore dumpDefault (computer science)DisintegrationFeedbackCodeIntegrated development environmentPoint cloudGastropod shellFront and back endsHybrid computerDebuggerWindowLatent heatSlide ruleRadical (chemistry)Data managementProjective planeConnected spacePlanningMultiplication signComputer animation
41:58
Point cloudWeb browserGroup actionFeedbackGastropod shellGastropod shellLatent heatPoint cloudStapeldateiMultiplication signPartial derivativeComputer animation
42:39
Web browserPoint cloudEvent horizonComa BerenicesComputer animationXML
Transcript: English(auto-generated)
00:11
Welcome. I'm Danny Martins. This is Hemant Mahawar and today we'll be talking to you about Azure Cloud Shell and using PowerShell from your browser to manage your cloud resources.
00:23
So just to kind of get a feel for the audience, how many of you have used Cloud Shell before? Okay, good. So three of you. So that's four. We're only like 25%. We can work with that. Oh, look at that. Some more. All right. Well first let's go back maybe a year before Cloud Shell, and this might be what you're doing now.
00:44
So previously you had to install a bunch of command-line tools and install a bunch of your cloud tools, search for what you want to do to manipulate your cloud resources. You might have some dependencies maybe on a Python script, something like that.
01:02
It might not be very efficient, and then you'd have to download these and then try to run them. But wait, then you get prompted to authenticate your session. And so this is a pretty frustrating experience, and you'd have to do this probably about every two weeks, and it could cause a real headache.
01:23
Introducing, stepping in Cloud Shell. So your Microsoft managed an admin environment that gives you authenticated access from virtually anywhere. It allows you to choose your preferred shell, either PowerShell or Bash. It brings your files into a private and secure Azure environment, and
01:44
it's delivered with some common tools and programming languages. So the overall goal of Cloud Shell is to save you time. So how does this really work? There's thousands of containers configured and waiting in Azure
02:01
that are geo-diverse, so they're all over the world. And the goal is to connect you with a container that's close to your location, so you have a really fast experience. Once you request the shell, you connect and mount your storage, and you get all your files, all of your scripts, that you can run anywhere.
02:23
And all this is accessible from anywhere, because it's built in Azure. So you can get Cloud Shell on the go from your browser on a mobile device, and so let's jump in some demos. This is what you're really here for. See what Cloud Shell is. So you can see here, I'm in the Azure portal, and
02:44
we have this icon right here, Cloud Shell. So you open this up, and while this is starting, I can make this a little bit bigger so you can see. Just maximize it out, and I'll increase my font size. Can you read that in the back? Yeah, cool.
03:00
Alright, so what you can see right away is that our prompt is Azure. So what we've done is we've taken all your Azure resources and mounted them as a file system. And so if I do a dir here, this will load up all the subscriptions that I have access to. I have a few, so I'll come up in a second. Maybe the Internet's a little slower over here. There we go. And so you can see I have about five or six
03:25
subscriptions I have access to. So let's navigate into the automation team. And here, we pull out all the resources within this resource group. And so we have a breakdown for all resources, but we've also pulled out the more common resources, like your resource groups,
03:42
your virtual machines, your web apps, and your storage accounts. And this is an extensible model, so if you see yourself using other resources that aren't in this list, give us some feedback, and then we can add to this list. And so what's really cool is we can go further and we can look at all the virtual machines.
04:03
There we go. And so this will give me all the virtual machines that are inside the subscription, and there's quite a few since this is a shared subscription with the rest of the team. You can see the warning that the new Azure commands are coming. So we've got all these
04:22
virtual machines inside the subscription, but these aren't really relevant to what I'm doing. Yes, question. Yes, it would be, you have your subscription, and then, so for the automation team subscription,
04:41
that's the overall team subscription, and then we build out our own resource groups. I think Hamid might have something to add. Yeah, great. Do you, anything to add? Okay, we'll keep going. All right, so these, are you answering your question? Cool.
05:03
So these virtual machines might not necessarily be scoped to me or really be relevant, and so I can navigate into the different resource groups, and we'll go into my specific resource group. Should have done the T. There we go. And so what we do now is we scope all your commands to this resource group, and so if I do a get-azure-rmvm,
05:25
this is going to be automatically scoped to the resource group that I'm located in, and this applies to both your virtual machines, your web apps, your storage accounts, and speaking of storage accounts, as you just mentioned, you're mounting your storage account. The reason we do that is because we have a cloud drive, and that's storage that's persisted across sessions,
05:44
and so I can navigate over to my cloud drive, and you can see here that I have some docs folder and my profile, and this storage inside the cloud drive is persistent between each container, so if I log out and log back in, these files are still there.
06:00
So this is where you want to store your files, all your scripts, things like that. So just to demo this, I can, we'll just do demo.txt, and you say, hello world, and so you know I'm not faking it, we can put the time in there. Help if I did it correctly. So,
06:21
and we have nano, we have vim, we have multiple different editor experiences within cloud shell. I personally prefer nano, and so we can do that here, and we see demo.txt is here, and we can cat, demo, see it's there. Perfect, and so if I exit out of the session, and I go to a different session, if I switch over to a bash container, and
06:47
while this is loading, I'll show you some other cool features that we got. We have a pop-out, so if I click on this, this will launch me into a full shell view within the window, and so now I don't have the portal in the background. We also have a restart the shell, or restart your cloud shell, and so this different, the
07:06
differentiator between, oh, I forgot to push my button, so forgive me, we'll go a little bit longer, the differentiator between the restart is this disconnects your container and gives you a fresh experience. So this will do a full startup, opposed to just closing this or
07:20
reopening your browser or your shell, that would just reconnect you to the existing container that you've already connected to. Yes, if you have questions,
07:41
Do you support MFA? I do not, no. When you say MFA, is there any way to support that with this, or do you have to disable it right now?
08:03
You don't, yeah, you don't have to disable it. Any multiple MFA will still get prompted when you log in, and so for example, I have MFA enabled on my mobile app, and so when I log into the Azure mobile app, I still get the prompt to do the MFA. But does the prompt then launch in just your local browser?
08:26
Or is there something else that you're doing? I don't know for the browser experience. When you do it through regular PowerShell, you know, it'll use whatever your default browser is in the frame window, that authentication problem. So in this case,
08:40
once you go to portal.microsoft.com, the MFA is handled by the portal itself. Yes, once you have, Yes, you carry your auth, and so when we say you have an already authenticated shell, Azure's already done that authentication. Yeah.
09:02
Cool. So now we see that we have our bash shell open, and the great thing is we also have PowerShell core within the bash experience. And so the great, another good thing about Cloud Shell is that we carry over and update the image. And so you can, you're guaranteed that you'll always have the latest and greatest. So here you can see that we have PowerShell 6.1's preview, and even though this is only released, so we update the image on a bi-weekly, weekly basis.
09:28
And so you can see again that we've mounted the Azure Drive. So this is an experience that you get in just your bash experience. You have to be running PowerShell, so you get ships, and you can build that Azure Drive on top of that. And so we can navigate back to our home directory and in Cloud Drive, and we can see
09:45
that we again have demo.txt, and it's there again. So this is persisting across my PowerShell, my bash sessions, and across different containers. So I've shown you an experience for me, but what would it look for what for most of you not using Cloud Shell before? So let me just do a hard reset and
10:09
whoops, I equal sign does not dash. Wow.
10:21
Yeah, it's going slow. There we go. Okay. So yes, I want to remove my storage, and we'll reconnect. So this is what it looked like for you. You get prompted if you want to start a bash environment in Linux, or a PowerShell session in Windows. So we're going to go with PowerShell, and
10:44
assuming you don't have a storage account that you want to exist, that existing that you want to mount, we can create one for you. You just select your subscription. I personally have one already configured. I'll just connect back to my old storage account that I was using, and so I just need to select on my right subscription, the correct region, and
11:02
we'll go back to my resource group and use my storage accounts. And so this is probably something similar to what you were seeing a few minutes ago, where it's building out your cloud drive again. Yeah, so the the reason is when you we restart to bash, we give you a new container,
11:28
and so we close your existing container, and then we start you a new bash environment. Yeah, so they should all be mapped to that same geolocation, so you you still have that fast experience.
11:41
Each time we restart the container, we're running a different OS, so for PowerShell we're currently running a Windows container, and for the bash environment we're running a Linux container. In the future that will be moving, or we have the idea that we'll move to a Linux container just so we have a more consistent experience with tooling, because currently our tooling is a little bit different from Windows,
12:01
Windows experience versus a Linux experience. So is this PowerShell core then? So currently what I have shown you besides from the bash experience has all been Windows PowerShell, but with more module coverage, we're going to move to PowerShell core in the future. And so I've shown you two experiences so far, both the portal and shell.azure.com. With shell.azure.com
12:25
you can specify if you want to connect straight to a PowerShell or a bash experience with just a slash PowerShell slash bash, and so if you have customers that you want to make sure they're going directly to the correct experience so you can walk them through some steps, you can send them a link with that built in.
12:43
We also have integration with Microsoft Docs, and so if we go here Yes off the network. So you see here we're back into Microsoft Docs, and if I click on one of these tutorials,
13:01
Cloud Shell is popping up side by side in your browser, and so if I log in I will get a cloud, another container in a session on the right hand side, and if I click through the tutorials, the same session stays open, and so you can follow along the tutorial in your browser.
13:20
We also have the Azure mobile app, which I talked about a little bit before. There's a little cloud shell icon on the bottom, and then we also have a more local experience with the Azure extension using VS code, and so Hemant's gonna talk about that a little bit. So the question is are there any limitations about installing modules, copying them over?
13:41
So in this experience you have your PowerShell get available so you can use install module, install scripts, as long as you can download them, it gets saved to your cloud drive, it is available for the next one, so there's no. Now the only thing that depends is if you're running the PowerShell core version and
14:04
modules are not compatible then obviously at runtime. The other aspect is since it's running in containers, if your module does a connection or login which pop up a browser, that won't show up here, and that was a
14:21
scenario with your R&M module, but since it's already authenticated, you don't have to do it. Azure AD, we already take care of that, so you don't have to do those. But good question. So I will go and open the PowerPoint, that might be a good idea.
14:42
So Danny showed you how you can use it from the browser. One area that people said oh, it's great, but you know there is this cross-platform called VS code. What's the story with that? And I'll talk a little bit more about the VS code experience and show you more demos. So this is the,
15:03
I have two slides, one of them is this. So here is the VS code. How many of you guys have tried using PowerShell from VS code?
15:25
How many of you still hate it and loves ISC more than it? Okay, so there are some people like yeah, some things are good in ISC, something good in VS code. I was on the same lines that oh, VS code is a new shiny thing, I don't know, and it took me about
15:43
six months ago, I switched over and slowly slowly I'm like oh, there's no reason for me to run ISC. But one thing people say a lot is hey, if I open a file, let's see, it's a local file here, it doesn't look like ISC, it opens integrated console, I can
16:04
kill it, remove it, and it's running Windows PowerShell, it tells you you can actually, once you install, you have your preference and you can change the color theme and there is a PowerShell ISC color theme.
16:26
So people who don't want to move from ISC because they are so familiar with it, you can tell them hey, use this color theme, now it looks ISC all. So that's the point of this. And then in VS code there is an extension, so first let me show the extension before I go, it's called Azure account.
16:44
So there is this extension build with VS code which lets you get your cloud shell in VS code. And then there's another one called Azure storage, which I'll talk about a little bit more. So those are the two ones. So you can say control shift P, type in azure colon open, it'll give you option which one you want to open, the bash shell or the PowerShell experience, and since we're in a PowerShell summit,
17:07
I'll talk about PowerShell. So you can click it and it's supposed to open your cloud shell terminal in VS code. The same thing that is in your browser, if you really want to stay closer to your VS code, you can come and get that.
17:25
And as one thing that Danny pointed out, if you have a session running, you disconnect from it and come back within a certain time period, you get a faster connection because your containers is still there, even though you have disconnected, we don't decommission it and then we connect back to it.
17:42
But if that time limit exceeds, then that container is taken away and when you connect, so sometimes you will see oh, the connection is fast, sometimes it's slow. Yeah, there's some network piece of it, but most of them is if you're connecting to a new container versus an existing container. So here you have the same experience you can do there.
18:00
Again, it's connecting to Azure service the first time, finding all my subscription, next time I do it, it's fast. Like it's really fast. It did it. Because we cache, so we go to the service once, get the information, build the navigation and
18:21
thing here, and if you really want to say hey, I created new resources, they are not showing up because it's a cache, you have an option of saying build-force and it'll go and rebuild the entire cache, it'll go and check if there's a thing any new and so on. So it's the same thing. Let me show you, since we talk about cloud drive,
18:43
there are two commands, dismount cloud drive and get cloud drive. When you do get cloud drive, it tells you what is the file share name, what is the mount point, what's the name of the source group, and all the information. So I have the default setting. I did not create a storage up front. In that case your storage is created with some GUIDs and so on and it's very difficult.
19:04
So this kind of helps you to know which storage account you have, what is the file share name. And that brings to the point of you go to Explorer in VS code. Since you have that Azure storage, you can turn on and
19:21
say Azure storage. Now it will show you all your subscriptions and all your storage that is up in Azure. You can filter it down if you really want to not see all of them. I know here is my storage account name, CS some GUID, so I can go to my subscription. It is traversing and finding that information. Find my storage account, which has this funky name.
19:46
Go to my file share. Here is the file share name, which is also pre-automatically created for you if you don't select it. And I can go and see. And here are all my files.
20:01
And essentially what it allows you is you can double-click and it opens that file for you here. And this is the, okay, hopefully this time it will be better.
20:20
And this is what your storage extension tells you. It's opening the file. You can go back to the terminal. It says let's make a change. You can make a change to it. Say control save. It'll take that change, which is available locally and upload it back to you. And in the same session, you can go to your home cloud drive.
20:43
And run cloudshell.ps1 and it writes. Future-looking. We can do time travel 2019. Another thing that you can use with those two extension is this is a local file. So let me just show you the files I have here. There's some five or six files. There's no file called localfile.ps1.
21:03
You can right-click and you can say upload. And it'll upload that file for you automatically to your cloud drive. And you do next time and here you see that local file. .ps1. So making things easier for you by
21:20
integrating with VS code and now you do the cross-platform stuff, it's going to continue to work for you. The other thing is how many of you know that you can run custom profile in the cloud shell? Okay, run. You guys don't count. You're in the team.
21:42
So I can go and see as there's a profile, I can go and double-click my file. It opens up and here I have a couple of things commented out. So let me just create my custom prompt and
22:00
there's a lot of unicode stuff here. So I saved my custom prompt, make the changes to the file saved and now if I go and open a new shell, so remember the prompt used to be Azure, PS Azure. I'll go and create a new one. And since I'm already connected to a container, this will be pretty fast one. It authenticates. It tells a message saying loading your profile and both kind of profiles are supported.
22:25
You can just do a profile.ps1 or the full Microsoft dot blah blah blah blah. And then you can do all unicode or funky stuff that you want to do. They're random stuff. It showed up automatically. I have no clue why.
22:41
Other thing is tools. We talked about tools. Right now there is some difference of tools when you run on bash side of the cloud shell or PowerShell side of the cloud shell. Like terraform is available only in the bash shell. Ansible, which makes sense on the Linux side, is there. But one cool thing is git. So you have git already installed on
23:03
both your environment. You can see what version you're running in. And just to show an example of how you can leverage these things is I have a website already running, running a your web app. It's essentially a slack invite. We played with slack when we were doing the private preview of cloud shell and
23:23
anytime you want people to come and join in you have to send them a URL. It might go to the wrong address. So this is a convenient way where you say I have a slack website which does the slack invitation. You can put it out there, people type in their email address, whatever they want and it
23:40
automatically joins a slack group. So that's the same website. I've set it up here and you will notice that there's a lot of wrong in that highlighted sentence. I'm not going to go into the details of how it actually works. It's a open source project on github. I can show you pointers if you guys are interested in that. But the cool thing is on my machine I have
24:03
the source code in my cloud drive and that allows me So here it is called slack invite automation and I can use nano slack Invite automation and I know where the setting is so I can open that file in an editor called nano
24:22
and then I can go and say PowerShell and DevOps global I Am literally bit challenge with VI but I know enough to get by
24:48
SK Oh, this is nano see Too many choices and since git is there. Let me make it up
25:01
You can see the status of wrong place go inside the directory you can see what files have changed or not and Ideally, you can even install posh git here We do some custom Prompt in the cloud shell so posh git doesn't work. Well, it doesn't show you the things which is more of our issue
25:22
But we have to work with them and say hey Can we get all the goodness of posh git here and you can do regular commands git add config? git commit and the idea is once you make the change here since your
25:45
Azure web app is integrated with your local gate, which is saved in your cloud drive. You can do git push azure Master and It'll take these changes directly from here go upload it to your website refresh it
26:04
It's running node NPM stuff. Everything just happens and your website will get updated so the value add there and it got updated so you can go and refresh it and you will Hopefully notice that things have been fixed so the value add here is
26:22
These tools allow you to manage your resources your Applications on the fly if you really really want to end here all the changes are there Okay One other thing Danny showed you was PowerShell core 6. So obviously we are running Windows PowerShell here
26:41
You can do with psversion table It shows 5.1 You can start PowerShell core 6 here as well. So if you want to play with PowerShell core 6 You get the latest version here. This is a very convenient place a test bed. You can play with
27:01
Experiment with things and just throw away. You don't even have to download but since it's side-by-side Downloading a local box doesn't impact anything that Windows PowerShell is doing. So that's also a safer environment And one question keeps coming all up across PowerShell core 6 is like oh, this is great. But
27:22
What can I do with PowerShell core 6? It's so limited So definitely that is true. That's the area. We are working on if you look in your Cloud drives today, you will see if you do get module Azure RM and this is PowerShell core 6
27:40
These are four or five that we ship in box But today morning they released the next version of azure RM module on the gallery Which lets you? Download them save them in play and since There are more of them. It's taking time that number five goes from five to fifty five
28:02
So all of our actually 58 some of them are duplicate Because they are already here So I have so essentially the point is that work of moving all the big Workloads to PowerShell core has started Your RM is leading that front a lot of that is coming because we want them you guys to use cloud shell
28:25
and more things will happen in future as well and Obviously similar to that if you do get command dash module azure RM star major you will get close to 1800 command let's there in PowerShell core 6 experience
28:45
Okay Two more things and then I'm out of here or let you ask questions You can also play with cloud shell to have this fun you don't have to do real hard work I know everybody who's doing
29:02
System administration or DevOps kind of stuff life is hectic. You want some fun. So I have in my Cloud drive
29:24
So there's a demo that was written for Windows PowerShell and I was trying to see how much of that can work here So, let's see and you have Zen and peace already for you here. You can do tab and it changes stuff. So it's fun stuff. Nothing fancy, but
29:43
You can still do that if nothing else Okay, so those were the things we had in the demo side of things any questions before we move on or Talk about what's next? Okay, very engaging audience. No
30:03
Okay, so the demo part is done and here is a link which I didn't get a chance to make it work and show you guys is mounting that your Azure storage file you can mount it locally on Windows as An as a drive and you can use dash persist and save your credential. It will be there after reboot
30:26
So you can say oh my Z drive is always my cloud shell So you can then use those file locally make them changes use any editor that you want But still be attached to and this is already documented The biggest thing that I ran into it, which I haven't solved yet is opening the port 445 for outbound connection
30:46
Which is the only thing that stopped me from getting it done in time So just be aware of that. It's there Now the thing is future so what is the future? We know and that is why there's first line we said
31:01
PowerShell startup can take up to a minute that our startup is very slow It's not where we want it to be. But that's where we are at this point So we are working there to make the startup faster and it's not just faster It's like somebody in my team says you blink blink blink is there so it's that is going to be that fast
31:22
I was we were almost close to get a video of that to show you today, but we didn't reach there It's not available for it. Everybody even people in the team are waiting for it to be deployed and play with it We are moving Planning to move from Windows PowerShell to PowerShell core 6 at the default experience here
31:42
That's the place all the investments are happening. We want more and more team to core 6 Oh, so I should do PowerShell core 6 as well as people to use it and tell us And the other piece that Daniel already talked is today the cloud shell experience of running on Windows container
32:00
the idea of a cloud shell is to manage Azure things or to go out of that container environment and manage something outside a Lot of people are trying to do and manage MSO online office 365 account But every time you're going out of that environment to somewhere else to a service or to another endpoint So whether it's running Linux container or Windows container, it should have very little impact
32:24
For the experience for for going out But it has a big impact in terms of tools the cadence with which we can provide their tools and startup Startup of Linux is fast. We are going to make it even more faster, but it will be small Delta on Windows So those were the thought process we had is like where you want this investment to go six months eight months nine months down the
32:47
Line, do we want to keep fighting this tool works on Linux? It doesn't work on Windows go talk to those team spend time or says make the tool work once and it work across And definitely
33:01
integration with docs at microsoft.com especially on the your side has happened, but it hasn't reached the critical mask where you can go and say Oh, right, right for every document. So that's the area we are working on so you can leverage and play and learn those things and Definitely doing the GA of the entire PowerShell side of the cloud shell. The bash side is already g8 last November
33:24
PowerShell was announced at ignite. So we expect sometime this summer late summer. We should be able to reach that point and We did ran a survey I There's a question coming I know
33:40
Let me finish this one Which is essentially cloud shell survey aka.ms cloud shell survey and it talks about what is your pain points of? Your customers the people you talk to when you move from Windows PowerShell to PowerShell core 6 what things are missing or what? Will be a deal breaker If you move from Windows container to the next container, so those are the two aspects of the survey
34:01
We already tweeted about it, but it's good to get more people chime in Question
34:20
Okay Right So the question is if you try to connect to
34:42
Microsoft Exchange Online or Office 365 online in the regular Windows PowerShell console the Multi-factor authenticate pops up you can type things. What's the plan there? So that's something we are working in Essentially yesterday only we had a meeting with them a small meeting and they're like, oh, we don't know whether MFA works
35:01
I'm like no it works and actually we were able to show that it's taken by Azure AD So if you look at Azure AD when it moved to dotnet core They will not have that pop-up as easily so we go you can go to the device login approach Which will work so it was oh, is that simple? I'm like, yeah, there's some work
35:20
But yeah, it's that simple. So that work is happening the Office 365 was very interested in thing. Oh all this partial core stuff is good. What is this cloud shell thing? Can I use it in my admin center kind of experience?
35:42
Yes, so One thing I think Jeffrey has talked about in his session as well as we reaching out to office people say hey do this Like oh you are the PowerShell team. You are the cloud shell team Obviously you want everybody to your technology, but if you go and say hey, I've used it. I want this to happen
36:03
It carries one and a half to two times more weight age than us reaching out So we are already working with them but just hit the teams whatever that team is whether it's for office with a SharePoint or Foo bar if you want something not necessarily PowerShell Even if outside of PowerShell something else you reaching out beating them up
36:23
Makes more impact than we reaching out and asking them to work with us. So please continue doing that
36:40
Yes Yes, so the question is what is the connectivity from the cloud shell to your resources For example a VM if it's not publicly accessible, so right now we have
37:03
one experience which Primarily relies on PowerShell remoting. There's a commandlet in cloud shell We don't talk about it much because there are some it's not as smooth as it should be which essentially uses PowerShell remoting and you have commands like invoke a your RM VM command and
37:23
enter a your RM VM Those use primarily PowerShell remoting. So the machine has to be Exposed to the internet. It should have a public IP address That's an area. We are looking at with the serial console work and run command that they have done We are looking we are planning to look into those and say how can we?
37:41
Provide the same kind of experience like you get in hyper V through VM bus connection. Can we do that for your VMS from the cloud shell? So that's definitely something that's on our plate Play to look at and also make the PowerShell remoting whether it's over SSH or win RM make mode easier because today run command is very
38:04
One machine at a time kind of a thing with PowerShell remoting You can reach out to end machines figure it out and then do a specific SSH base session. So definitely that's something Yes This is all still happening
38:22
When you said this the question is Okay So
38:40
The question is is it all when that's where I was kind of asking when you say Is it all going to 443? Are you talking about PowerShell remoting or the connection to the portal? Right, yes, it's going over the standard net HTTP protocols HTTP HTTPS 80 and 443. Yes
39:01
There are some issues with Firefox, I believe So if you're behind the Proxy proxy So if you're behind a proxy or load balancer the web socket so the connection happens
39:25
Through web socket between the actual container and the browser So if you're behind those then there are certain things you have to open up I believe it's already documented in our dogs because a lot of people ran into that and Especially if you are using Firefox it shows up more often than if you are using Chrome or edge
39:43
So that's documented but it's not weak we can look at but yes, there is that piece of proxies in Any more questions, I don't think we have anything else on the slide
40:07
Oh
40:22
So the question is are there any plans to manage hybrid environment with cloud shell without opening too much ports and stuff We have not looked into that in detail, but we have talked with Project Honolulu folks where The discussion was how can I get the PowerShell in that browser?
40:43
And we talked about why if you are they were at that time looking only in a local scenario So running a container connecting didn't make sense And what they actually needed was a front end like we are doing and the back end connection Technology and they were able to achieve as Honolulu moves more towards managing hybrid
41:02
we will definitely plug in into that scenario and Make it happen. I don't have a specific timeline, but something has just started that discussion just started around it
41:25
Yeah, I was taking the question more as can I use cloud Right, oh, yeah, yes
41:41
So the the the comment Dan is saying is in VS code you have those terminals which can let you run Windows PowerShell Which is local and the cloud shell so you can use that for a kind of a workaround for the hybrid okay, last slide I believe is this which is use it tell people more about it and
42:05
Let us know what kind of things that you find difficult to use there is user wise around cloud shell which is all up cloud shell when you submit a issue you You pick whether it's a general issue or it's a batch specific or partial specific and then there's documentation around how do it?
42:22
How do you learn more about it, we know there's room for improvement on the docks so if you find open issue if you can contribute that's even better, but Telling us what's busted on. Oh, I read this document doesn't make sense. That's too difficult That's also a good idea for us to know. So those are the things and thank you for your time any more questions
42:43
I can take it