Skip to content

Commit 9066884

Browse files
Merge pull request #266390 from sdwheeler/sdw-w171381
Update tools & features article
2 parents f125e01 + ebf4a85 commit 9066884

File tree

2 files changed

+140
-139
lines changed

2 files changed

+140
-139
lines changed

articles/cloud-shell/features.md

Lines changed: 140 additions & 139 deletions
Original file line numberDiff line numberDiff line change
@@ -1,200 +1,201 @@
11
---
22
description: Overview of features in Azure Cloud Shell
33
ms.contributor: jahelmic
4-
ms.date: 12/06/2023
4+
ms.date: 02/15/2024
55
ms.topic: article
66
tags: azure-resource-manager
77
title: Azure Cloud Shell features
88
---
99
# Features & tools for Azure Cloud Shell
1010

11-
Azure Cloud Shell is a browser-based shell experience to manage and develop Azure resources.
12-
13-
Cloud Shell offers a browser-accessible, preconfigured shell experience for managing Azure
14-
resources without the overhead of installing, versioning, and maintaining a machine yourself.
15-
16-
Cloud Shell allocates machines on a per-request basis and as a result machine state doesn't
17-
persist across sessions. Since Cloud Shell is built for interactive sessions, shells automatically
18-
terminate after 20 minutes of shell inactivity.
11+
Azure Cloud Shell is a browser-based terminal that provides an authenticated, preconfigured shell
12+
experience for managing Azure resources without the overhead of installing and maintaining a machine
13+
yourself.
1914

2015
Azure Cloud Shell runs on **Azure Linux**, Microsoft's Linux distribution for cloud infrastructure
21-
edge products and services. Microsoft internally compiles all the packages included in the **Azure
22-
Linux** repository to help guard against supply chain attacks.
16+
edge products and services. You can choose Bash or PowerShell as your default shell.
2317

2418
## Features
2519

26-
### Secure automatic authentication
20+
### Secure environment
21+
22+
Microsoft internally compiles all the packages included in the **Azure Linux** repository to help
23+
guard against supply chain attacks. For more information or to request changes to the **Azure
24+
Linux** image, see the [Cloud Shell GitHub repository][24].
2725

28-
Cloud Shell securely and automatically authenticates account access for the Azure CLI and Azure
29-
PowerShell.
26+
Cloud Shell automatically authenticates your Azure account to allow secure access for Azure CLI,
27+
Azure PowerShell, and other cloud management tools.
3028

3129
### $HOME persistence across sessions
3230

33-
To persist files across sessions, Cloud Shell walks you through attaching an Azure file share on
34-
first launch. Once completed, Cloud Shell will automatically attach your storage (mounted as
35-
`$HOME\clouddrive`) for all future sessions. Additionally, your `$HOME` directory is persisted as an
36-
.img in your Azure File share. Files outside of `$HOME` and machine state aren't persisted across
37-
sessions. Learn more about [Persisting files in Cloud Shell][09].
31+
When you start Cloud Shell for the first time, you have the option of using Cloud Shell with or
32+
without an attached storage account. Choosing to continue without storage is the fastest way to
33+
start using Cloud Shell. In Cloud Shell, this is known as an _ephemeral session_. When you close the
34+
Cloud Shell window, all files you saved are deleted and don't persist across sessions.
35+
36+
To persist files across sessions, you can choose to mount a storage account. Cloud Shell
37+
automatically attaches your storage (mounted as `$HOME\clouddrive`) for all future sessions.
38+
Additionally, your `$HOME` directory is persisted as an `.img` file in your Azure File share. The
39+
machine state and files outside of `$HOME` aren't persisted across sessions. Learn more about
40+
[Persisting files in Cloud Shell][32].
3841

3942
Use best practices when storing secrets such as SSH keys. You can use Azure Key Vault to securely
40-
store and retrieve your keys. For more information, see [Manage Key Vault using the Azure CLI][02].
43+
store and retrieve your keys. For more information, see [Manage Key Vault using the Azure CLI][05].
4144

4245
### Azure drive (Azure:)
4346

4447
PowerShell in Cloud Shell provides the Azure drive (`Azure:`). You can switch to the Azure drive
4548
with `cd Azure:` and back to your home directory with `cd ~`. The Azure drive enables easy
4649
discovery and navigation of Azure resources such as Compute, Network, Storage etc. similar to
47-
filesystem navigation. You can continue to use the familiar [Azure PowerShell cmdlets][14] to manage
48-
these resources regardless of the drive you are in. Any changes made to the Azure resources, either
49-
made directly in Azure portal or through Azure PowerShell cmdlets, are reflected in the Azure drive.
50-
You can run `dir -Force` to refresh your resources.
51-
52-
![Screenshot of an Azure Cloud Shell being initialized and a list of directory resources.][06]
53-
54-
### Manage Exchange Online
50+
filesystem navigation. You can continue to use the familiar [Azure PowerShell cmdlets][09] to manage
51+
these resources regardless of the drive you are in.
5552

56-
PowerShell in Cloud Shell contains the ExchangeOnlineManagement module. Run the following command to
57-
get a list of Exchange cmdlets.
58-
59-
```powershell
60-
Get-Command -Module ExchangeOnlineManagement
61-
```
62-
63-
For more information about using the ExchangeOnlineManagement module, see
64-
[Exchange Online PowerShell][15].
53+
> [!NOTE]
54+
> Any changes made to the Azure resources, either made directly in Azure portal or through Azure
55+
> PowerShell cmdlets, are reflected in the `Azure:` drive. However, you must run `dir -Force` to
56+
> refresh the view of your resources in the `Azure:`.
6557
6658
### Deep integration with open source tooling
6759

6860
Cloud Shell includes preconfigured authentication for open source tools such as Terraform, Ansible,
6961
and Chef InSpec. For more information, see the following articles:
7062

71-
- [Run Ansible playbook][11]
72-
- [Manage your Azure dynamic inventories][10]
73-
- [Install and configure Terraform][12]
63+
- [Run Ansible playbook][03]
64+
- [Manage your Azure dynamic inventories][02]
65+
- [Install and configure Terraform][04]
7466

75-
### Preinstalled tools
67+
## Preinstalled tools
7668

77-
The most commonly used tools are preinstalled in Cloud Shell.
69+
The most commonly used tools are preinstalled in Cloud Shell. If you're using PowerShell, use the
70+
`Get-PackageVersion` command to see a more complete list of tools and versions. If you're using
71+
Bash, use the `tdnf list` command.
7872

79-
#### Azure tools
73+
### Azure tools
8074

8175
Cloud Shell comes with the following Azure command-line tools preinstalled:
8276

83-
| Tool | Version | Command |
84-
| ------------------------- | -------- | ------------------------------ |
85-
| [Azure CLI][13] | 2.55.0 | `az --version` |
86-
| [Azure PowerShell][14] | 11.1.0 | `Get-Module Az -ListAvailable` |
87-
| [AzCopy][04] | 10.15.0 | `azcopy --version` |
88-
| [Azure Functions CLI][01] | 4.0.5390 | `func --version` |
89-
| [Service Fabric CLI][03] | 11.2.0 | `sfctl --version` |
90-
| [Batch Shipyard][18] | 3.9.1 | `shipyard --version` |
91-
| [blobxfer][19] | 1.11.0 | `blobxfer --version` |
92-
93-
You can verify the version of the language using the command listed in the table.
94-
Use the `Get-PackageVersion` to see a more complete list of tools and versions.
95-
96-
#### Linux tools
97-
98-
- bash
99-
- zsh
100-
- sh
101-
- tmux
102-
- dig
103-
104-
#### Text editors
77+
- [Azure CLI][08]
78+
- [Azure PowerShell][09]
79+
- [Az.Tools.Predictor][10]
80+
- [AzCopy][07]
81+
- [Azure Functions CLI][01]
82+
- [Service Fabric CLI][06]
83+
- [Batch Shipyard][17]
84+
- [blobxfer][18]
85+
86+
### Other Microsoft services
87+
88+
- [Office 365 CLI][28]
89+
- [Exchange Online PowerShell][11]
90+
- A basic set of [Microsoft Graph PowerShell][12] modules
91+
- Microsoft.Graph.Applications
92+
- Microsoft.Graph.Authentication
93+
- Microsoft.Graph.Groups
94+
- Microsoft.Graph.Identity.DirectoryManagement
95+
- Microsoft.Graph.Identity.Governance
96+
- Microsoft.Graph.Identity.SignIns
97+
- Microsoft.Graph.Users.Actions
98+
- Microsoft.Graph.Users.Functions
99+
- [MicrosoftPowerBIMgmt][13] PowerShell modules
100+
- [SqlServer][14] PowerShell modules
101+
102+
### Productivity tools
103+
104+
Linux tools
105+
106+
- `bash`
107+
- `zsh`
108+
- `sh`
109+
- `tmux`
110+
- `dig`
111+
112+
Text editors
105113

106114
- Cloud Shell editor (code)
107115
- vim
108116
- nano
109117
- emacs
110118

111-
#### Source control
119+
### Cloud management tools
112120

113-
- Git
114-
- GitHub CLI
121+
- [Docker Desktop][23]
122+
- [Kubectl][27]
123+
- [Helm][26]
124+
- [D2iQ Kubernetes Platform CLI][22]
125+
- [Cloud Foundry CLI][21]
126+
- [Terraform][31]
127+
- [Ansible][30]
128+
- [Chef InSpec][20]
129+
- [Puppet Bolt][29]
130+
- [HashiCorp Packer][19]
115131

116-
#### Build tools
132+
## Developer tools
117133

118-
- make
119-
- maven
120-
- npm
121-
- pip
134+
Build tools
122135

123-
#### Containers
136+
- `make`
137+
- `maven`
138+
- `npm`
139+
- `pip`
124140

125-
- [Docker Desktop][24]
126-
- [Kubectl][29]
127-
- [Helm][28]
128-
- [D2iQ Kubernetes Platform CLI][23]
141+
Source control
142+
143+
- Git
144+
- GitHub CLI
129145

130-
#### Databases
146+
Database tools
131147

132148
- MySQL client
133149
- PostgreSql client
134-
- [sqlcmd Utility][17]
135-
- [mssql-scripter][27]
136-
137-
#### Other
138-
139-
- iPython Client
140-
- [Cloud Foundry CLI][22]
141-
- [Terraform][33]
142-
- [Ansible][32]
143-
- [Chef InSpec][21]
144-
- [Puppet Bolt][31]
145-
- [HashiCorp Packer][20]
146-
- [Office 365 CLI][30]
147-
148-
### Preinstalled developer languages
149-
150-
Cloud Shell comes with the following languages preinstalled:
150+
- [sqlcmd Utility][15]
151+
- [mssql-scripter][25]
151152

152-
| Language | Version | Command |
153-
| ---------- | ------------- | ------------------ |
154-
| .NET Core | [7.0.400][25] | `dotnet --version` |
155-
| Go | 1.19.11 | `go version` |
156-
| Java | 17.0.8 | `java --version` |
157-
| Node.js | 16.20.1 | `node --version` |
158-
| PowerShell | [7.4.0][16] | `pwsh -Version` |
159-
| Python | 3.9.14 | `python --version` |
160-
| Ruby | 3.1.4p223 | `ruby --version` |
153+
Programming languages
161154

162-
You can verify the version of the language using the command listed in the table.
155+
- .NET Core 7.0
156+
- PowerShell 7.4
157+
- Node.js
158+
- Java
159+
- Python 3.9
160+
- Ruby
161+
- Go
163162

164163
## Next steps
165164

166-
- [Cloud Shell Quickstart][05]
167-
- [Learn about Azure CLI][13]
168-
- [Learn about Azure PowerShell][14]
165+
- [Cloud Shell Quickstart][16]
166+
- [Learn about Azure CLI][08]
167+
- [Learn about Azure PowerShell][09]
169168

170169
<!-- link references -->
171-
[01]: ../azure-functions/functions-run-local.md
172-
[02]: ../key-vault/general/manage-with-cli2.md#prerequisites
173-
[03]: ../service-fabric/service-fabric-cli.md
174-
[04]: ../storage/common/storage-use-azcopy-v10.md
175-
[05]: ./get-started.md
176-
[06]: ./media/features/azure-drive.png
177-
[09]: ./persisting-shell-storage.md
178-
[10]: /azure/developer/ansible/dynamic-inventory-configure
179-
[11]: /azure/developer/ansible/getting-started-cloud-shell
180-
[12]: /azure/developer/terraform/quickstart-configure
181-
[13]: /cli/azure/
182-
[14]: /powershell/azure
183-
[15]: /powershell/exchange/exchange-online-powershell
184-
[16]: /powershell/scripting/whats-new/what-s-new-in-powershell-74
185-
[17]: /sql/tools/sqlcmd-utility
186-
[18]: https://batch-shipyard.readthedocs.io/en/latest/
187-
[19]: https://blobxfer.readthedocs.io/en/latest/
188-
[20]: https://developer.hashicorp.com/packer/docs
189-
[21]: https://docs.chef.io/
190-
[22]: https://docs.cloudfoundry.org/cf-cli/
191-
[23]: https://docs.d2iq.com/dkp/2.6/azure-infrastructure
192-
[24]: https://docs.docker.com/desktop/
193-
[25]: https://dotnet.microsoft.com/download/dotnet/7.0
194-
[27]: https://github.com/microsoft/mssql-scripter/blob/dev/doc/usage_guide.md
195-
[28]: https://helm.sh/docs/
196-
[29]: https://kubernetes.io/docs/reference/kubectl/
197-
[30]: https://pnp.github.io/office365-cli/
198-
[31]: https://puppet.com/docs/bolt/latest/bolt.html
199-
[32]: https://www.ansible.com/microsoft-azure
200-
[33]: https://www.terraform.io/docs/providers/azurerm/
170+
[01]: /azure/azure-functions/functions-run-local
171+
[02]: /azure/developer/ansible/dynamic-inventory-configure
172+
[03]: /azure/developer/ansible/getting-started-cloud-shell
173+
[04]: /azure/developer/terraform/quickstart-configure
174+
[05]: /azure/key-vault/general/manage-with-cli2#prerequisites
175+
[06]: /azure/service-fabric/service-fabric-cli
176+
[07]: /azure/storage/common/storage-use-azcopy-v10
177+
[08]: /cli/azure/
178+
[09]: /powershell/azure
179+
[10]: /powershell/azure/predictor-overview
180+
[11]: /powershell/exchange/exchange-online-powershell
181+
[12]: /powershell/module/?term=Microsoft.Graph
182+
[13]: /powershell/module/?term=MicrosoftPowerBIMgmt
183+
[14]: /powershell/module/sqlserver
184+
[15]: /sql/tools/sqlcmd-utility
185+
[16]: get-started.md
186+
[17]: https://batch-shipyard.readthedocs.io/en/latest/
187+
[18]: https://blobxfer.readthedocs.io/en/latest/
188+
[19]: https://developer.hashicorp.com/packer/docs
189+
[20]: https://docs.chef.io/
190+
[21]: https://docs.cloudfoundry.org/cf-cli/
191+
[22]: https://docs.d2iq.com/dkp/2.6/azure-infrastructure
192+
[23]: https://docs.docker.com/desktop/
193+
[24]: https://github.com/Azure/CloudShell
194+
[25]: https://github.com/microsoft/mssql-scripter/blob/dev/doc/usage_guide.md
195+
[26]: https://helm.sh/docs/
196+
[27]: https://kubernetes.io/docs/reference/kubectl/
197+
[28]: https://pnp.github.io/office365-cli/
198+
[29]: https://puppet.com/docs/bolt/latest/bolt.html
199+
[30]: https://www.ansible.com/microsoft-azure
200+
[31]: https://www.terraform.io/docs/providers/azurerm/
201+
[32]: persisting-shell-storage.md
Binary file not shown.

0 commit comments

Comments
 (0)