GithubHelp home page GithubHelp logo

powershell / azurepsdrive Goto Github PK

View Code? Open in Web Editor NEW
41.0 41.0 17.0 120 KB

Navigate Azure Resources Just like A FileSystem

Home Page: https://www.powershellgallery.com/packages/AzurePSDrive

License: MIT License

PowerShell 100.00%

azurepsdrive's Introduction

logo PowerShell

Welcome to the PowerShell GitHub Community! PowerShell is a cross-platform (Windows, Linux, and macOS) automation and configuration tool/framework that works well with your existing tools and is optimized for dealing with structured data (e.g. JSON, CSV, XML, etc.), REST APIs, and object models. It includes a command-line shell, an associated scripting language, and a framework for processing cmdlets.

Windows PowerShell vs. PowerShell Core

Although this repository started as a fork of the Windows PowerShell codebase, changes made in this repository are not automatically ported back to Windows PowerShell 5.1. This also means that issues tracked here are only for PowerShell Core 6 and higher. Windows PowerShell specific issues should be reported with the Feedback Hub app, by choosing "Apps > PowerShell" in the category.

New to PowerShell?

If you are new to PowerShell and want to learn more, we recommend reviewing the getting started documentation.

Get PowerShell

You can download and install a PowerShell package for any of the following platforms.

Supported Platform Download (LTS) Downloads (stable) Downloads (preview) How to Install
Windows (x64) .msi .msi .msi Instructions
Windows (x86) .msi .msi .msi Instructions
Ubuntu 22.04 .deb .deb .deb Instructions
Ubuntu 20.04 .deb .deb .deb Instructions
Ubuntu 18.04 .deb .deb .deb Instructions
Ubuntu 16.04 .deb N/A N/A Instructions
Debian 10 .deb .deb .deb Instructions
Debian 11 .deb .deb .deb
CentOS 7 .rpm .rpm .rpm Instructions
CentOS 8 .rpm .rpm .rpm
Red Hat Enterprise Linux 7 .rpm .rpm .rpm Instructions
openSUSE 42.3 .rpm .rpm .rpm Instructions
Fedora 35 .rpm .rpm .rpm Instructions
macOS 10.13+ (x64) .pkg .pkg .pkg Instructions
macOS 11+ (arm64) .pkg .pkg .pkg Instructions
Docker Instructions

You can download and install a PowerShell package for any of the following platforms, which are supported by the community.

Platform Downloads (stable) Downloads (preview) How to Install
Arch Linux Instructions
Kali Linux .deb .deb Instructions
Many Linux distributions Snapcraft Snapcraft

You can also download the PowerShell binary archives for Windows, macOS, and Linux.

Platform Downloads (stable) Downloads (preview) How to Install
Windows 32-bit/64-bit 32-bit/64-bit Instructions
macOS (x64) 64-bit 64-bit Instructions
macOS (arm64) 64-bit 64-bit Instructions
Linux 64-bit 64-bit Instructions
Windows (ARM) 64-bit (preview) 64-bit Instructions
Raspbian (ARM) 32-bit/64-bit 32-bit/64-bit Instructions

To install a specific version, visit releases.

Upgrading PowerShell

For best results when upgrading, you should use the same install method you used when you first installed PowerShell. The update method will be different for each platform and install method. For more information, see Installing PowerShell.

Community Dashboard

Dashboard with visualizations for community contributions and project status using PowerShell, Azure, and PowerBI.

For more information on how and why we built this dashboard, check out this blog post.

Discussions

GitHub Discussions is a feature to enable free and open discussions within the community for topics that are not related to code, unlike issues.

This is an experiment we are trying in our repositories, to see if it helps move discussions out of issues so that issues remain actionable by the team or members of the community. There should be no expectation that PowerShell team members are regular participants in these discussions. Individual PowerShell team members may choose to participate in discussions, but the expectation is that community members help drive discussions so that team members can focus on issues.

Create or join a discussion.

Chat

Want to chat with other members of the PowerShell community?

There are dozens of topic-specific channels on our community-driven PowerShell Virtual User Group, which you can join on:

Add-ons and libraries

Awesome PowerShell has a great curated list of add-ons and resources.

Building the Repository

Linux Windows macOS
Instructions Instructions Instructions

If you have any problems building, consult the developer FAQ.

Build status of nightly builds

Azure CI (Windows) Azure CI (Linux) Azure CI (macOS) CodeFactor Grade
windows-nightly-image linux-nightly-image macOS-nightly-image cf-image

Downloading the Source Code

You can clone the repository:

git clone https://github.com/PowerShell/PowerShell.git

For more information, see working with the PowerShell repository.

Developing and Contributing

Please look into the Contribution Guide to know how to develop and contribute. If you are developing .NET Core C# applications targeting PowerShell Core, check out our FAQ to learn more about the PowerShell SDK NuGet package.

Also, make sure to check out our PowerShell-RFC repository for request-for-comments (RFC) documents to submit and give comments on proposed and future designs.

Support

For support, see the Support Section.

Legal and Licensing

PowerShell is licensed under the MIT license.

Windows Docker Files and Images

License: By requesting and using the Container OS Image for Windows containers, you acknowledge, understand, and consent to the Supplemental License Terms available on Docker Hub:

Telemetry

Please visit our about_Telemetry topic to read details about telemetry gathered by PowerShell.

Governance

The governance policy for the PowerShell project is described here.

This project has adopted the Microsoft Open Source Code of Conduct. For more information, see the Code of Conduct FAQ or contact [email protected] with any additional questions or comments.

azurepsdrive's People

Contributors

alexandair avatar cormacpayne avatar hemantmahawar avatar jianyunt avatar mirichmo avatar miyanni avatar raghushantha avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

azurepsdrive's Issues

Module gives error when creating New-PSDrive

When trying to create a new PSDrive I get an error:

New-PSDrive : The following error occurred while loading the extended type data file: Error in TypeData 
...
InvalidOperation: (:) [New-PSDrive], RuntimeException

Both depended modules are up to date:

ModuleType Version    Name              
---------- -------    ----              
Script     5.6.0      AzureRM.Profile   
Script     6.9.0      AzureRM           

Any ideas how to solve this?

Empty siteconfig property under Webapp directory

A user reported:

From Thom Schumacher
When viewing web applications in my subscription I the property for SiteConfig is empty. I would think that that would be the same value as:
Get-AzureRmWebAppSlot -name webapp -ResourceGroupName myres -slot ‘production’
In the provider my drivename is AZ.
cd az:\mysub\webapps
(gci *webapp).siteconfig
(gci *webapp).sitename — this is valid and has data

CLoudShell Version

PS Azure:\> dir env:acc_version

ACC_VERSION master_20171006.3

Modules

4.4.0 AzureRM
3.4.0 AzureRM.Profile

Why the Az.* module dependencies?

I just installed the AzurePSDrive module, and it pulled down a bunch of Az.* modules that it is dependent on: Az.Compute, Az.Profile, Az.Resources, Az.Storage. These are installed, even though I already have AzureRM.Compute, AzureRM.Profile, AzureRM.Resources, and AzureRM.Storage already installed. There is obviously some redundancy going on here. Can someone please explain why these extra modules are necessary? Is this simply to ensure that you have the right DLLs downloaded and loaded in memory so that you can reference Azure types internally in the AzurePSDrive module?

Error message should be more helpful when you are not authenticated to Azure

This is the user experience if you want to browse Azure: drive before you authenticate to Azure:

PS C:\WINDOWS\system32> cd azure:
PS Azure:\> dir
dir : Unable to obtain tenant for the account. Check your subscription to ensure there is atleast one tenant
At line:1 char:1
+ dir
+ ~~~
    + CategoryInfo          : InvalidResult: (Microsoft.PowerShell.SHiPS.SHiPSProvider:SHiPSProvider) [Get-ChildItem],
   RuntimeException
    + FullyQualifiedErrorId : GetChildItems,Microsoft.PowerShell.Commands.GetChildItemCommand

dir : One or more errors occurred.
At line:1 char:1
+ dir
+ ~~~
    + CategoryInfo          : InvalidResult: (Microsoft.PowerShell.SHiPS.SHiPSProvider:SHiPSProvider) [Get-ChildItem],
   AggregateException
    + FullyQualifiedErrorId : GetChildItems,Microsoft.PowerShell.Commands.GetChildItemCommand

dir : One or more errors occurred.
At line:1 char:1
+ dir
+ ~~~
    + CategoryInfo          : NotSpecified: (:) [Get-ChildItem], AggregateException
    + FullyQualifiedErrorId : System.AggregateException,Microsoft.PowerShell.Commands.GetChildItemCommand

Those error messages are not very helpful and user-friendly. It would be better to mention missing to Add-AzureRmAcoount (or its alias Login-AzureRmAccount). Even better would be to warn (to prevent a later error) a user about missing authentication when they import AzurePSDrive module or cd into Azure: drive.

Is it possible to change subscription/tenant?

I love this project and its possibilities.

I have one issue so far, on my Azure credentials I have access to multiple subscription. Is there a way to change subscription either before or after you created the PSDrive?

/Jens

Login-AzureRM in Test.psm1 fails due to potential invalid password?

See PR checkin test run results:

https://ci.appveyor.com/project/PowerShell/azurepsdrive/build/1.1.3.85

ConvertTo-SecureString : Cannot bind argument to parameter 'String' because it is null.
1565
At C:\projects\azurepsdrive\tests\test.psm1:97 char:52
1566
+     $secureString = ConvertTo-SecureString -String $password -AsPlain ...
1567
+                                                    ~~~~~~~~~
1568
    + CategoryInfo          : InvalidData: (:) [ConvertTo-SecureString], ParameterBindingValidationException
1569
    + FullyQualifiedErrorId : ParameterArgumentValidationErrorNullNotAllowed,Microsoft.PowerShell.Commands.ConvertToSecureStringCommand
1570
 
1571
New-Object : Exception calling ".ctor" with "2" argument(s): "Cannot process argument because the value of argument "userName" is not valid. Change the value of the "userName" argument and run the operation again."
1572
At C:\projects\azurepsdrive\tests\test.psm1:98 char:13
1573
+     $cred = New-Object System.Management.Automation.PSCredential($azu ...
1574
+             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1575
    + CategoryInfo          : InvalidOperation: (:) [New-Object], MethodInvocationException
1576
    + FullyQualifiedErrorId : ConstructorInvokedThrowException,Microsoft.PowerShell.Commands.NewObjectCommand
1577
 
1578
Connect-AzureRmAccount : Cannot bind argument to parameter 'Credential' because it is null.
1579
At C:\projects\azurepsdrive\tests\test.psm1:100 char:72
1580
+ ... file\Login-AzureRmAccount -ServicePrincipal -Credential $cred -Tenant ...
1581
+                                                             ~~~~~
1582
    + CategoryInfo          : InvalidData: (:) [Connect-AzureRmAccount], ParameterBindingValidationException
1583
    + FullyQualifiedErrorId : ParameterArgumentValidationErrorNullNotAllowed,Microsoft.Azure.Commands.Profile.ConnectAzureRmAccountCommand
1584
 
1585
Install SHiPS module from PowerShellGallery - required dependency for AzurePSDrive
1586
VERBOSE: Using the provider 'PowerShellGet' for searching packages.
1587
VERBOSE: The -Repository parameter was not specified.  PowerShellGet will use all of the registered repositories.

dir -recurse throws InvalidFilterInQueryString error

Steps to reproduce

  • Open PowerShell in Cloud Shell
  • cd to a resource group, e.g., Azure:<Subscription Name>\ResourceGroups<resource group name>
  • Try to filter for some name recursively, e.g: dir -Filter PSCloud -Recurse
PS Azure:\<Subscription Name>\ResourceGroups\<resource group name>> dir

    Directory: Azure:\<subscription name>\ResourceGroups\<resource group name>

Mode ProviderName
---- ------------
+    Microsoft.Automation
+    Microsoft.Compute
+    Microsoft.Network
+    Microsoft.Storage

PS Azure:\<Subscription Name>\ResourceGroups\<resource group name>> dir -Filter "*PSCloud*" -Recurse

Expected behavior

no error

Actual behavior

InvalidFilterInQueryString error

dir : InvalidFilterInQueryString : Invalid $filter '(resourceType EQ 'Microsoft.Automation/automationAccounts') AND
(substringof(Name, *PSCloud*.Replace('*', '')) eq true)' specified in the query string.
At line:1 char:1
+ dir -Filter  *PSCloud* -Recurse
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : CloseError: (SHiPS:String) [Get-ChildItem], Exception
    + FullyQualifiedErrorId : InvalidFilterInQueryString,Microsoft.Azure.Commands.ResourceManager.Cmdlets.Implementation.GetAzureResourceCmdlet,Microsoft.PowerShell.Commands.GetChildItemCommand

Environment data

$env:ACC_VERSION:  master_20171021.1

Get-Module SHiPS

ModuleType Version    Name                                ExportedCommands
---------- -------    ----                                ----------------
Script     0.3.0      SHiPS

Get-Module AzurePSDrive

ModuleType Version    Name                                ExportedCommands
---------- -------    ----                                ----------------
Script     0.6.0      AzurePSDrive

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.