This commit is contained in:
maddieclayton 2017-11-15 09:42:08 -08:00
Родитель ca386b8816 5cd513c0e6
Коммит 289b0bbea3
100 изменённых файлов: 5871 добавлений и 1253 удалений

Просмотреть файл

@ -1,4 +1,22 @@
## 2017.11.8 - Version 5.0.0
## 2017.11.10 Version 5.0.1
* Fixed assembly loading issue that caused some cmdlets to fail when executing in the following modules:
- AzureRM.ApiManagement
- AzureRM.Backup
- AzureRM.Batch
- AzureRM.Compute
- AzureRM.DataFactories
- AzureRM.HDInsight
- AzureRM.KeyVault
- AzureRM.RecoveryServices
- AzureRM.RecoveryServices.Backup
- AzureRM.RecoveryServices.SiteRecovery
- AzureRM.RedisCache
- AzureRM.SiteRecovery
- AzureRM.Sql
- AzureRM.Storage
- AzureRM.StreamAnalytics
## 2017.11.8 - Version 5.0.0
* NOTE: This is a breaking change release. Please see the migration guide (https://aka.ms/azps-migration-guide) for a full list of introduced breaking changes.
* All cmdlets in AzureRM now support online help
- Run Get-Help with the -Online parameter to open the online help in your default Internet browser

Просмотреть файл

@ -1,37 +1,100 @@
# Using Microsoft.Rest.ClientRuntime.Azure.TestFramework #
1. Getting Started
2. Accquring TestFramework
3. Setup prior to Record/Playback tests
1. Environment Variables
2. Playback Test
3. Record Test with Interactive login using OrgId
4. Record Test with ServicePrincipal
4. Record/Playback tests
5. Change Test Environment settings at run-time
6. Troubleshooting
7. Supported Key=Value pairs in ConnectionString
8. Environment Variable Reference
- [Getting Started](#getting-started)
- [Acquiring TestFramework](#acquiring-testframework)
- [Setup prior to Record/Playback tests](#setup-prior-to-record-or-playback-of-tests)
- [New-TestCredential](#new-testcredential)
- [Create New Service Principal](#create-new-service-principal)
- [Use Existing Service Principal](#use-existing-service-principal)
- [UserId](#userid)
- [Set-TestEnvironment](#set-testenvironment)
- [Existing Service Principal](#existing-service-principal)
- [UserId](#userid)
- [Manually Set Environment Variables](#manually-set-environment-variables)
- [Environment Variables](#environment-variables)
- [Playback Test](#playback-test)
- [Record Test with Interactive login using OrgId](#record-test-with-interactive-login-using-orgid)
- [Record Test with ServicePrincipal](#record-test-with-serviceprincipal)
- [Record/Playback tests](#record-or-playback-tests)
- [Change Test Environment settings at run-time](#change-test-environment-settings-at-run-time)
- [Troubleshooting](#troubleshooting)
- [Supported Key Value pairs in ConnectionString](#supported-key-value-pairs-in-connectionstring)
- [Environment Variable Reference](#supported-environment-in-test-framework)
## 1. Getting Started
## Getting Started
1. Double click .\tools\PS-VSPrompt shortcut
1. This starts VS Dev command prompt in PowerShell
1. This starts VS Dev command prompt in PowerShell in the azure-powershell/tools directory
2. Import module that helps in performing basic repository tasks
1. Import-Module Repo-Tasks.psd1
2. Type Get-Command -Module Repo-Tasks to see list of cmdlets
3. Get-Help <CommandName> to get help on individual commands.
1. Import-Module .\Repo-Tasks.psd1
## 2. Accquring TestFramework
## Acquiring TestFramework
TestFramework is available on NuGet at https://www.nuget.org/packages/Microsoft.Rest.ClientRuntime.Azure.TestFramework/ .
Instructions to manually download it are available on NuGet. However TestFramework will be downloaded automatically as part of the build process, so manually downloading it should generally be unnecessary.
## 3. Setup prior to Record/Playback of tests
## Setup prior to Record or Playback of tests
In order to Record/Playback a test, you need to setup a connection string that consists various key/value pairs that provides information to the test environment.
In order to Record/Playback a test, you need to setup a connection string that consists of various key/value pairs that provides information to the test environment. You have three options to set up the connection string: run the [New-AzureCredential cmdlet](#new-azurecredential) (recommended), run the [Set-TestEnvironment cmdlet](#set-testenvironment), or [manually set the environment variables](#manually-set-environment-variables).
#### 3.1 Environment Variables
### New-TestCredential
This cmdlet, located in Repo-Tasks, will allow you to create a credentials file (located in C:/Users/\<currentuser\>/.azure/testcredentials.json) that will be used to set the environment variable when scenario tests are run. This credentials file will be used in all future sessions unless it is deleted or the environment variables are manually set.
#### Create New Service Principal
Using a Service Principal is the preferred option for recording tests because it works with both .NET Framework and .NET Core. In order to create a new Service Principal run this command with a unused ServicePrincipal display name:
```powershell
New-TestCredential -ServicePrincipalDisplayName "ScenarioTestCredentials" -ServicePrincipalSecret `
"testpassword" -SubscriptionId <subscriptionId> -TenantId <tenantId> -RecordMode "Record"
```
This command will create a new Service Principal, set the correct role assignment for this Service Principal based upon the subscription provided, and place the Service Principal id and secret into the credentials file.
#### Use Existing Service Principal
If you would like to use an existing Service Principal, run this command with an existing ServicePrincipal display name and secret:
```powershell
New-TestCredential -ServicePrincipalDisplayName "Existing Service Principal" -ServicePrincipalSecret `
"testpassword" -SubscriptionId <subscriptionId> -TenantId <tenantId> -RecordMode "Record"
```
#### UserId
This is no longer the preferred option because it only works when running on .NET Framework. When running on .NET Core you may get an error like `Interactive Login is supported only in NET45 projects`. Additionally, you will have to manually log in when running the scenario tests rather than being automatically validated.
```powershell
New-TestCredential -UserId "exampleuser@microsoft.com" -SubscriptionId <subscriptionId> `
-TenantId <tenantId> -RecordMode "Record"
```
### Set-TestEnvironment
This cmdlet, located in Repo-Tasks, will directly set the environment variable for the session.
#### Existing Service Principal
This is the preferred option for recording tests because it works with both .NET Framework and .NET Core.
```powershell
Set-TestEnvironment -ServicePrincipalId <servicePrincipalId> -ServicePrincipalSecret `
"testpassword" -SubscriptionId <subscriptionId> -TenantId <tenantId> -RecordMode "Record"
```
#### UserId
This is no longer the preferred option because it only works when running on .NET Framework. When running on .NET Core you may get an error like `Interactive Login is supported only in NET45 projects`.
```powershell
Set-TestEnvironment -UserId "exampleuser@microsoft.com" -SubscriptionId <subscriptionId> `
-TenantId <tenantId> -RecordMode "Record"
```
### Manually Set Environment Variables
#### Environment Variables
> TEST_CSM_ORGID_AUTHENTICATION
@ -41,14 +104,14 @@ This is the connection string that determined how to connect to Azure. This incl
This specifies whether test framework will `Record` test sessions or `Playback` previously recorded test sessions.
#### 3.2 Playback Test
#### Playback Test
The default mode is Playback mode, so no setting up of connection string is required. You can optionally set environment variables:
TEST_CSM_ORGID_AUTHENTICATION=
AZURE_TEST_MODE=Playback
#### 3.3 Record Test with Interactive login using OrgId
#### Record Test with Interactive login using OrgId
This is no longer the preferred option because it only works when running on .NET Framework. When running on .NET Core you may get an error like `Interactive Login is supported only in NET45 projects`.
@ -57,9 +120,9 @@ To use this option, set the following environment variables before starting Visu
TEST_CSM_ORGID_AUTHENTICATION=SubscriptionId={SubId};UserId={orgId};AADTenant={tenantId};Environment={env};HttpRecorderMode=Record;
AZURE_TEST_MODE=Record
#### 3.4 Record Test with ServicePrincipal
#### Record Test with ServicePrincipal
This is the preferred option for record because it works with both .NET Framework and .NET Core.
This is the preferred option for recording tests because it works with both .NET Framework and .NET Core.
To create a service principal, follow the [Azure AD guide to create a Application Service Principal](https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-group-create-service-principal-portal#create-an-active-directory-application). The application type should be `Web app / API` and the sign-on URL value is irrelevant (you can set any value).
@ -79,14 +142,14 @@ To use this option, set the following environment variable before starting Visua
TEST_CSM_ORGID_AUTHENTICATION=SubscriptionId={SubId};ServicePrincipal={clientId};ServicePrincipalSecret={clientSecret};AADTenant={tenantId};Environment={env};HttpRecorderMode=Record;
AZURE_TEST_MODE=Record
## 4. Record/Playback Tests
## Record or Playback Tests
1. Run the test and make sure that you got a generated .json file that matches the test name in the bin folder under *SessionRecords folder
2. Copy SessionRecords folder inside the test project and add all *.json files in Visual Studio setting "Copy to Output Directory" property to "Copy if newer"
3. To assure that the records work fine, delete the connection string (default mode is Playback mode) OR change HttpRecorderMode within the connection string to "Playback"
## 5. Change Test Environment settings at run-time
#### 1. Once you set your connection string, you can add or update key/value settings
## Change Test Environment settings at run-time
#### Once you set your connection string, you can add or update key/value settings
Add new key/value pair
TestEnvironment.ConnectionString.KeyValuePairs.Add("Foo", "FooValue");
@ -100,7 +163,7 @@ To use this option, set the following environment variable before starting Visua
###Note:###
Changing the above properties at run-time has the potential to hard code few things in your tests. Best practice would be to use these properties to change values at run-time from immediate window at run-time and avoid hard-coding certain values.
## 6. Troubleshooting
## Troubleshooting
#### Issue: exceptions in Microsoft.Azure.Test.HttpRecorder
@ -112,7 +175,7 @@ In order to debug test set the following environment variables before starting V
TEST_CSM_ORGID_AUTHENTICATION=SubscriptionId={SubId};UserId={orgId};AADTenant={tenantId};Environment={env};HttpRecorderMode=Record;
#### 7.1 Supported Key=Value pairs in Connectionstring
## Supported Key Value pairs in ConnectionString
* ManagementCertificate
* SubscriptionId
* AADTenant
@ -134,9 +197,9 @@ In order to debug test set the following environment variables before starting V
* AADAuthEndpoint
* GraphTokenAudienceUri
## 8. Supported Environment in Test framework (Azure environments)
## Supported Environment in Test framework
#### 8.1 Default Environments and associated Uri
#### Default Environments and associated Uri
##### Environment = Prod

Просмотреть файл

@ -84,6 +84,9 @@
<Component Id="cmp4ED9DD29EE0725A80C9C93E3528F1230" Guid="*">
<File Id="fil5916A84B4804BDCA5D5A4C9765A3F1A1" KeyPath="yes" Source="$(var.sourceDir)\ResourceManager\AzureResourceManager\AzureRM.ApiManagement\Microsoft.WindowsAzure.Storage.dll" />
</Component>
<Component Id="cmpCACCECAB9F530A76B2AD3660C5BF8E74" Guid="*">
<File Id="fil087657CB273F57C2B1D1A0D6C9DB2AAC" KeyPath="yes" Source="$(var.sourceDir)\ResourceManager\AzureResourceManager\AzureRM.ApiManagement\System.Spatial.dll" />
</Component>
</Directory>
<Directory Id="dir20CB1A80CDFE9122E56ECAC691BE1645" Name="AzureRM.ApplicationInsights">
<Component Id="cmp8C55810390E8F28E93B56F1884AD9454" Guid="*">
@ -141,6 +144,15 @@
<Component Id="cmp29E1C42F46F7C10CE33DAB39DA1F59D3" Guid="*">
<File Id="fil82E994AF766AA7243ED970F7FA45DD2B" KeyPath="yes" Source="$(var.sourceDir)\ResourceManager\AzureResourceManager\AzureRM.Backup\Microsoft.Azure.Management.BackupServicesManagement.dll" />
</Component>
<Component Id="cmp14C04F53A2E2F433CBA3C652F0382F25" Guid="*">
<File Id="filCF13BA3BB93B7FBCE26833CABAF3F0AA" KeyPath="yes" Source="$(var.sourceDir)\ResourceManager\AzureResourceManager\AzureRM.Backup\Microsoft.WindowsAzure.Management.Common.dll" />
</Component>
<Component Id="cmpBF27C1D39D783AD3F86F63D014EC030F" Guid="*">
<File Id="fil3AAF65384BF613DB2ECA292B9294A8F2" KeyPath="yes" Source="$(var.sourceDir)\ResourceManager\AzureResourceManager\AzureRM.Backup\Microsoft.WindowsAzure.Management.Scheduler.dll" />
</Component>
<Component Id="cmp82364D72D38170AAF9E06D264622529B" Guid="*">
<File Id="fil62D605052BCF3C729A90278150584172" KeyPath="yes" Source="$(var.sourceDir)\ResourceManager\AzureResourceManager\AzureRM.Backup\Security.Cryptography.dll" />
</Component>
</Directory>
<Directory Id="dir5E7BBFED9B359415B15299518B5B8042" Name="AzureRM.Batch">
<Component Id="cmp8D6E468747E93CD69A8E2A0D608759F8" Guid="*">
@ -176,6 +188,9 @@
<Component Id="cmp5B9EB91263904E62D14890B60994B360" Guid="*">
<File Id="fil6BBB4675048EE200DE786D7F20E6E62A" KeyPath="yes" Source="$(var.sourceDir)\ResourceManager\AzureResourceManager\AzureRM.Batch\Microsoft.WindowsAzure.Storage.dll" />
</Component>
<Component Id="cmp22BC5873E0018F5801CD486C6CBCE0C5" Guid="*">
<File Id="fil9D065E8E5B3E5AF98B57D1F44F6C8698" KeyPath="yes" Source="$(var.sourceDir)\ResourceManager\AzureResourceManager\AzureRM.Batch\System.Spatial.dll" />
</Component>
</Directory>
<Directory Id="dirCC449B6F93CEE9F4E338902885CBCE6A" Name="AzureRM.Billing">
<Component Id="cmpE13209703EEDF722986E2927493C77A8" Guid="*">
@ -298,6 +313,9 @@
<Component Id="cmp75A3106EE811B79116C119C15220B35C" Guid="*">
<File Id="fil1EC14E6BFA8893007E9D26586EA25F9F" KeyPath="yes" Source="$(var.sourceDir)\ResourceManager\AzureResourceManager\AzureRM.Compute\Microsoft.WindowsAzure.Storage.dll" />
</Component>
<Component Id="cmp8BCA174B740D6FE9FE610DDF340C002E" Guid="*">
<File Id="fil5F3D2DE1162DE2DB606A10FC49FD35D3" KeyPath="yes" Source="$(var.sourceDir)\ResourceManager\AzureResourceManager\AzureRM.Compute\System.Spatial.dll" />
</Component>
<Directory Id="dirA59EF05935407C6E2436C80080A7C107" Name="Generated">
<Component Id="cmp7E161D88C2C114CB3885FA17B24DF61C" Guid="*">
<File Id="filDB35D90F36AFF3DF49E3C45376E82EBE" KeyPath="yes" Source="$(var.sourceDir)\ResourceManager\AzureResourceManager\AzureRM.Compute\Generated\Microsoft.Azure.Commands.Compute.Automation.format.generated.ps1xml" />
@ -422,6 +440,9 @@
<Component Id="cmp9EEA592CD3AAAC7A119506E05E9251B7" Guid="*">
<File Id="fil6D540A23CB2F1F5C9EE551F1754A484B" KeyPath="yes" Source="$(var.sourceDir)\ResourceManager\AzureResourceManager\AzureRM.DataFactories\Microsoft.WindowsAzure.Storage.dll" />
</Component>
<Component Id="cmpFFD632DFF203CC929CB0CACD3AAE8AE3" Guid="*">
<File Id="filB11FAD70D0E3DF95BD49427B1A3782A7" KeyPath="yes" Source="$(var.sourceDir)\ResourceManager\AzureResourceManager\AzureRM.DataFactories\System.Spatial.dll" />
</Component>
</Directory>
<Directory Id="dirAAC172CF84D8B6F5FC477A30C02214C2" Name="AzureRM.DataFactoryV2">
<Component Id="cmp181AEF3AE2DF4386012E3FE9864C934F" Guid="*">
@ -609,6 +630,9 @@
<Component Id="cmp3F2670FE66DA907C67EE06E8665B976C" Guid="*">
<File Id="fil62F0F7BA33F23528D833F7B9CE31F300" KeyPath="yes" Source="$(var.sourceDir)\ResourceManager\AzureResourceManager\AzureRM.HDInsight\Microsoft.WindowsAzure.Storage.dll" />
</Component>
<Component Id="cmpBBB7C495123829980FBE79A9D2EB53A3" Guid="*">
<File Id="fil8EC634BFD13217A88EF83F93F47E6B16" KeyPath="yes" Source="$(var.sourceDir)\ResourceManager\AzureResourceManager\AzureRM.HDInsight\System.Spatial.dll" />
</Component>
</Directory>
<Directory Id="dir70022A6DA4B0F7D6288C5058AE89CA43" Name="AzureRM.Insights">
<Component Id="cmp46D2B2B0B3583E9D988E8822E4019690" Guid="*">
@ -675,6 +699,18 @@
<Component Id="cmpFD1FF637F9EDD0BF88DE235BB7C878F2" Guid="*">
<File Id="fil47BFBB757F07061BEA238947928E2995" KeyPath="yes" Source="$(var.sourceDir)\ResourceManager\AzureResourceManager\AzureRM.KeyVault\Microsoft.Azure.Management.KeyVault.dll" />
</Component>
<Component Id="cmpF469AE6EA612B0399957FAF85083221B" Guid="*">
<File Id="fil5684108D378817FBD69741594A1691AA" KeyPath="yes" Source="$(var.sourceDir)\ResourceManager\AzureResourceManager\AzureRM.KeyVault\Microsoft.Data.Edm.dll" />
</Component>
<Component Id="cmp28D6E7B5DF1FD9B79A5B4D16447379A1" Guid="*">
<File Id="fil5FFABBF4B17F9CB6DC30FB21B11A1B3F" KeyPath="yes" Source="$(var.sourceDir)\ResourceManager\AzureResourceManager\AzureRM.KeyVault\Microsoft.Data.OData.dll" />
</Component>
<Component Id="cmpCD008CF1C7D17EBD72102BD129C9372C" Guid="*">
<File Id="filAE03B936A9EEBD6BA395089F817FD5A0" KeyPath="yes" Source="$(var.sourceDir)\ResourceManager\AzureResourceManager\AzureRM.KeyVault\Microsoft.Data.Services.Client.dll" />
</Component>
<Component Id="cmp8EE8340753317C13D69F692E7E42B175" Guid="*">
<File Id="filAE60D28516977FE205BBEB3D15EB53DE" KeyPath="yes" Source="$(var.sourceDir)\ResourceManager\AzureResourceManager\AzureRM.KeyVault\System.Spatial.dll" />
</Component>
</Directory>
<Directory Id="dir95F6A3AD30BFB6FD9198425454B16108" Name="AzureRM.LogicApp">
<Component Id="cmp2BC048C87A71EBC0CB5EF453100E00AF" Guid="*">
@ -973,6 +1009,9 @@
<Component Id="cmpA897C4AAFA31A4DD27E390513E23E222" Guid="*">
<File Id="fil41C35FC5CDA21CD060F5389083B5195B" KeyPath="yes" Source="$(var.sourceDir)\ResourceManager\AzureResourceManager\AzureRM.RecoveryServices\Microsoft.Azure.Management.RecoveryServices.dll" />
</Component>
<Component Id="cmp6507BFAC437859C861A9F8D0535A62ED" Guid="*">
<File Id="filFAA2E60B8E7F95503D60627813D40219" KeyPath="yes" Source="$(var.sourceDir)\ResourceManager\AzureResourceManager\AzureRM.RecoveryServices\Security.Cryptography.dll" />
</Component>
</Directory>
<Directory Id="dir4B5D5A50B55B6D96C02DC2573A68955C" Name="AzureRM.RecoveryServices.Backup">
<Component Id="cmp131A9DE83A67006D51F1314A42E399CA" Guid="*">
@ -984,6 +1023,9 @@
<Component Id="cmp9AB7E755A85924AED823C3670C6E05B3" Guid="*">
<File Id="filE0505D28A989DD68C6146F1034E7869C" KeyPath="yes" Source="$(var.sourceDir)\ResourceManager\AzureResourceManager\AzureRM.RecoveryServices.Backup\AzureRmRecoveryServicesStartup.ps1" />
</Component>
<Component Id="cmp787B2B1E92B4AEF145134D74C17913C9" Guid="*">
<File Id="fil4414EC37DBB3B801C0176E172A8566FD" KeyPath="yes" Source="$(var.sourceDir)\ResourceManager\AzureResourceManager\AzureRM.RecoveryServices.Backup\Microsoft.Azure.Commands.RecoveryServices.ARM.dll" />
</Component>
<Component Id="cmpB5BF9FBFFC4EDD83B9F7135CF42CB617" Guid="*">
<File Id="fil64AAA98F94DB6985D3A60FF7570C5E4A" KeyPath="yes" Source="$(var.sourceDir)\ResourceManager\AzureResourceManager\AzureRM.RecoveryServices.Backup\Microsoft.Azure.Commands.RecoveryServices.Backup.dll" />
</Component>
@ -993,12 +1035,30 @@
<Component Id="cmp7E42CC4AEA15FEF46E621AD38CC09F5A" Guid="*">
<File Id="filB3BB12CA661C1C8E6E7BE93BD77D781D" KeyPath="yes" Source="$(var.sourceDir)\ResourceManager\AzureResourceManager\AzureRM.RecoveryServices.Backup\Microsoft.Azure.Commands.RecoveryServices.Backup.format.ps1xml" />
</Component>
<Component Id="cmpB7B864E9C70EE65B799C79119DF7E80B" Guid="*">
<File Id="fil53BEB99E0373F87AA8C1DE1E39F13115" KeyPath="yes" Source="$(var.sourceDir)\ResourceManager\AzureResourceManager\AzureRM.RecoveryServices.Backup\Microsoft.Azure.Commands.RecoveryServices.Backup.Helpers.dll" />
</Component>
<Component Id="cmp8826130AB84A23A8748B2E58087F1733" Guid="*">
<File Id="filBDEE1F034CEDF43D3B10E1DCA9DF81C0" KeyPath="yes" Source="$(var.sourceDir)\ResourceManager\AzureResourceManager\AzureRM.RecoveryServices.Backup\Microsoft.Azure.Commands.RecoveryServices.Backup.Logger.dll" />
</Component>
<Component Id="cmp705D3AFB5E86339823E569C4645A139F" Guid="*">
<File Id="filF87916ADE8086D552AFBF5F86147DB57" KeyPath="yes" Source="$(var.sourceDir)\ResourceManager\AzureResourceManager\AzureRM.RecoveryServices.Backup\Microsoft.Azure.Commands.RecoveryServices.Backup.Models.dll" />
</Component>
<Component Id="cmp3CBA7972F4711484D7FFF19457023268" Guid="*">
<File Id="filFEB151053DDC35E6643F363B07EC1EE3" KeyPath="yes" Source="$(var.sourceDir)\ResourceManager\AzureResourceManager\AzureRM.RecoveryServices.Backup\Microsoft.Azure.Commands.RecoveryServices.Backup.Providers.dll" />
</Component>
<Component Id="cmpB57F8F8298BF0638BFC679D217D71961" Guid="*">
<File Id="fil0D19F831018B79D88CF568D14CC27CA3" KeyPath="yes" Source="$(var.sourceDir)\ResourceManager\AzureResourceManager\AzureRM.RecoveryServices.Backup\Microsoft.Azure.Commands.RecoveryServices.Backup.ServiceClientAdapter.dll" />
</Component>
<Component Id="cmpCB1E57631ACC09C97C35F61440812F1A" Guid="*">
<File Id="filEE16C6D829A48ED4F843D5F901CFD331" KeyPath="yes" Source="$(var.sourceDir)\ResourceManager\AzureResourceManager\AzureRM.RecoveryServices.Backup\Microsoft.Azure.Management.RecoveryServices.Backup.dll" />
</Component>
<Component Id="cmp16B849AA6669D83462B54D42D739CCCC" Guid="*">
<File Id="filE7E1056326FD5C43C9A9CDEBA5395825" KeyPath="yes" Source="$(var.sourceDir)\ResourceManager\AzureResourceManager\AzureRM.RecoveryServices.Backup\Microsoft.Azure.Management.RecoveryServices.dll" />
</Component>
<Component Id="cmp91B9EAC62A0387B3AF8AD38F521C37B2" Guid="*">
<File Id="fil5512E9FE988FAF589373CE2C48F046FF" KeyPath="yes" Source="$(var.sourceDir)\ResourceManager\AzureResourceManager\AzureRM.RecoveryServices.Backup\Security.Cryptography.dll" />
</Component>
</Directory>
<Directory Id="dirA007D7300D25D1CF390258A1977A481D" Name="AzureRM.RecoveryServices.SiteRecovery">
<Component Id="cmp0771616382C276888CCCCAEDE5A4A116" Guid="*">
@ -1016,6 +1076,9 @@
<Component Id="cmp7BAA312BC377A7444310E7C0C5B732EE" Guid="*">
<File Id="fil3A421B25E8D6C25D84C5CB706F9BEEFC" KeyPath="yes" Source="$(var.sourceDir)\ResourceManager\AzureResourceManager\AzureRM.RecoveryServices.SiteRecovery\AzureRmRecoveryServicesStartup.ps1" />
</Component>
<Component Id="cmpCF0A8990FBA292F928410AF12C50A478" Guid="*">
<File Id="filDBEA3CF935A717C5FC25A90A8B347E6C" KeyPath="yes" Source="$(var.sourceDir)\ResourceManager\AzureResourceManager\AzureRM.RecoveryServices.SiteRecovery\Microsoft.Azure.Commands.RecoveryServices.ARM.dll" />
</Component>
<Component Id="cmp79AD0BD648ECD6B9E118912F0097D63F" Guid="*">
<File Id="fil8AD485A19F1A04EBE0E6AF4DB8E653FE" KeyPath="yes" Source="$(var.sourceDir)\ResourceManager\AzureResourceManager\AzureRM.RecoveryServices.SiteRecovery\Microsoft.Azure.Commands.RecoveryServices.SiteRecovery.dll" />
</Component>
@ -1031,6 +1094,9 @@
<Component Id="cmpBC999082E7C53472457EFC4A6DCD2C68" Guid="*">
<File Id="fil23CF306D5088B4E435EC51C59D427A91" KeyPath="yes" Source="$(var.sourceDir)\ResourceManager\AzureResourceManager\AzureRM.RecoveryServices.SiteRecovery\RecoveryServicesAsrStartup.ps1" />
</Component>
<Component Id="cmp60AE603B10034FF0FB3BEEC9183719EB" Guid="*">
<File Id="filAAC26532E645C7256F154EA1B43AE095" KeyPath="yes" Source="$(var.sourceDir)\ResourceManager\AzureResourceManager\AzureRM.RecoveryServices.SiteRecovery\Security.Cryptography.dll" />
</Component>
</Directory>
<Directory Id="dir81EE6B6C66E21DBFAFE07FA058F415D6" Name="AzureRM.RedisCache">
<Component Id="cmp301F9E8FA547D7C9A0DF4FF20F87815D" Guid="*">
@ -1066,6 +1132,9 @@
<Component Id="cmp5D9B9CA7570E8D2EB671AA2197A22A52" Guid="*">
<File Id="fil315EBA6955167FF42135413C69608424" KeyPath="yes" Source="$(var.sourceDir)\ResourceManager\AzureResourceManager\AzureRM.RedisCache\Microsoft.WindowsAzure.Storage.dll" />
</Component>
<Component Id="cmp52C57B0899D353B0A0560BB9EE958B68" Guid="*">
<File Id="fil593DDDA285E20B8837098A7387A09B84" KeyPath="yes" Source="$(var.sourceDir)\ResourceManager\AzureResourceManager\AzureRM.RedisCache\System.Spatial.dll" />
</Component>
</Directory>
<Directory Id="dirB8C59748A9CAA34AC5178B0870A85D46" Name="AzureRM.Relay">
<Component Id="cmp872D591FD35F7F98FB3D3950FC2E6EB5" Guid="*">
@ -1254,15 +1323,24 @@
<Component Id="cmpBDBB5E1FC6460AE7D2909CE3E22E2C5D" Guid="*">
<File Id="fil4E4B7B2FA97548E66C51482D181847ED" KeyPath="yes" Source="$(var.sourceDir)\ResourceManager\AzureResourceManager\AzureRM.SiteRecovery\AzureRmRecoveryServicesStartup.ps1" />
</Component>
<Component Id="cmpEF7A27C1B407FAE1C70BEED3039EB6E4" Guid="*">
<File Id="fil3DE1E89BDFF39DFBA04286E390A7902A" KeyPath="yes" Source="$(var.sourceDir)\ResourceManager\AzureResourceManager\AzureRM.SiteRecovery\Microsoft.Azure.Commands.RecoveryServices.ARM.dll" />
</Component>
<Component Id="cmp37090521052972B67F25727C8F5F8232" Guid="*">
<File Id="fil0550859664831A0A6078443632F6FE56" KeyPath="yes" Source="$(var.sourceDir)\ResourceManager\AzureResourceManager\AzureRM.SiteRecovery\Microsoft.Azure.Commands.SiteRecovery.dll" />
</Component>
<Component Id="cmpB308F438AEED82F3A6D0CA4D9D36AF60" Guid="*">
<File Id="fil81CB912483D35560B0438BF27CA2FD21" KeyPath="yes" Source="$(var.sourceDir)\ResourceManager\AzureResourceManager\AzureRM.SiteRecovery\Microsoft.Azure.Commands.SiteRecovery.dll-Help.xml" />
</Component>
<Component Id="cmpC06C4276E750A97B2875E0C017033BAD" Guid="*">
<File Id="fil7336B74B4D8760658CF407B47BB7D0A1" KeyPath="yes" Source="$(var.sourceDir)\ResourceManager\AzureResourceManager\AzureRM.SiteRecovery\Microsoft.Azure.Management.RecoveryServices.dll" />
</Component>
<Component Id="cmp2F2D87277541559BE2814CD1BDFE6602" Guid="*">
<File Id="fil901CCBBA285B6CA89AA1139C8234A093" KeyPath="yes" Source="$(var.sourceDir)\ResourceManager\AzureResourceManager\AzureRM.SiteRecovery\Microsoft.Azure.Management.SiteRecovery.dll" />
</Component>
<Component Id="cmp273975FE717E0BB68232E0CD3E70AA82" Guid="*">
<File Id="fil6DDD72C7C28CBEE2E1462B889DDB659B" KeyPath="yes" Source="$(var.sourceDir)\ResourceManager\AzureResourceManager\AzureRM.SiteRecovery\Security.Cryptography.dll" />
</Component>
</Directory>
<Directory Id="dirBA80E9DB8E2152CE322690719CF18460" Name="AzureRM.Sql">
<Component Id="cmpB904935B70928974D5ABC88308A90047" Guid="*">
@ -1307,6 +1385,9 @@
<Component Id="cmpD50A1D50B7385232643B15A0E7CBAA57" Guid="*">
<File Id="fil433065D93BBE30A527CE610D0FCF2B08" KeyPath="yes" Source="$(var.sourceDir)\ResourceManager\AzureResourceManager\AzureRM.Sql\SqlStartup.ps1" />
</Component>
<Component Id="cmpC1352E11D4D3526DFA43840F587B64D9" Guid="*">
<File Id="fil87CC35FCE77DA46C95ADC61350F33AF0" KeyPath="yes" Source="$(var.sourceDir)\ResourceManager\AzureResourceManager\AzureRM.Sql\System.Spatial.dll" />
</Component>
</Directory>
<Directory Id="dir0F79C72718C45BA510EC2F8CB9AE064F" Name="AzureRM.Storage">
<Component Id="cmp4AFA8C6EDE02E2B9FC026EFD116FAFA7" Guid="*">
@ -1339,6 +1420,9 @@
<Component Id="cmpEB093BA48269895BD06DFA441BFE96A2" Guid="*">
<File Id="fil27439D3C981FDDB02E6D7DFAF09099AE" KeyPath="yes" Source="$(var.sourceDir)\ResourceManager\AzureResourceManager\AzureRM.Storage\Microsoft.WindowsAzure.Storage.dll" />
</Component>
<Component Id="cmp80CA4C05D23968F83D1506A2A6588AE6" Guid="*">
<File Id="fil93E5B9102F26791DB828DA4BFE08F706" KeyPath="yes" Source="$(var.sourceDir)\ResourceManager\AzureResourceManager\AzureRM.Storage\System.Spatial.dll" />
</Component>
</Directory>
<Directory Id="dirFA7C9A5A635BE139BB5B3424EB99DACF" Name="AzureRM.StreamAnalytics">
<Component Id="cmpF7A753E4CAACA8F93A7BC91300781563" Guid="*">
@ -1371,6 +1455,9 @@
<Component Id="cmpE71F6692AEB2D19D81C0E7DA2D0C13F2" Guid="*">
<File Id="fil123B91AA39E9FC79F1F13D215AEE2495" KeyPath="yes" Source="$(var.sourceDir)\ResourceManager\AzureResourceManager\AzureRM.StreamAnalytics\Microsoft.WindowsAzure.Storage.dll" />
</Component>
<Component Id="cmpF69128DBF9C6F7F630E779CA78490603" Guid="*">
<File Id="filC72077FE2AAD2AD740C18E63BEE083F4" KeyPath="yes" Source="$(var.sourceDir)\ResourceManager\AzureResourceManager\AzureRM.StreamAnalytics\System.Spatial.dll" />
</Component>
</Directory>
<Directory Id="dir5E4172107485B8B2594EA4C60F4FBEAF" Name="AzureRM.Tags">
<Component Id="cmp5168A1A0C7C08B622BF4A720457790F9" Guid="*">
@ -3102,6 +3189,7 @@
<ComponentRef Id="cmp56AE231AE54FF94653E51734FEA684B6" />
<ComponentRef Id="cmpD70CC4F09FDE3C34BB3C35557DAC71B6" />
<ComponentRef Id="cmp4ED9DD29EE0725A80C9C93E3528F1230" />
<ComponentRef Id="cmpCACCECAB9F530A76B2AD3660C5BF8E74" />
<ComponentRef Id="cmp8C55810390E8F28E93B56F1884AD9454" />
<ComponentRef Id="cmp1F324757646ACDB13D10F027B3E93991" />
<ComponentRef Id="cmpD7B7A9AB0C63378189A25C68D41EB41D" />
@ -3119,6 +3207,9 @@
<ComponentRef Id="cmp02EC705ADEA4E4813A3382FCD347C075" />
<ComponentRef Id="cmp88D8EC51D9872B77C8335E8063852E25" />
<ComponentRef Id="cmp29E1C42F46F7C10CE33DAB39DA1F59D3" />
<ComponentRef Id="cmp14C04F53A2E2F433CBA3C652F0382F25" />
<ComponentRef Id="cmpBF27C1D39D783AD3F86F63D014EC030F" />
<ComponentRef Id="cmp82364D72D38170AAF9E06D264622529B" />
<ComponentRef Id="cmp8D6E468747E93CD69A8E2A0D608759F8" />
<ComponentRef Id="cmp450A7C57F828A9F69C25A584D54938E5" />
<ComponentRef Id="cmpFF226ED5701894F77AC9E8912B83AB67" />
@ -3130,6 +3221,7 @@
<ComponentRef Id="cmp21A3A51E9F4CEE163E61AAB46ECC1AA4" />
<ComponentRef Id="cmp910CAC5301CCF2C18FB054DA61B50348" />
<ComponentRef Id="cmp5B9EB91263904E62D14890B60994B360" />
<ComponentRef Id="cmp22BC5873E0018F5801CD486C6CBCE0C5" />
<ComponentRef Id="cmpE13209703EEDF722986E2927493C77A8" />
<ComponentRef Id="cmp7BE3F4BD5AD5BB0CD5417F7673EC0243" />
<ComponentRef Id="cmpD1A8BEBB59C843F152A9F127B7318056" />
@ -3168,6 +3260,7 @@
<ComponentRef Id="cmp06D66F4876C19BD4D7F80FEDF2F4DC50" />
<ComponentRef Id="cmpD4FC875D52979CCFC725DF3B9352CE43" />
<ComponentRef Id="cmp75A3106EE811B79116C119C15220B35C" />
<ComponentRef Id="cmp8BCA174B740D6FE9FE610DDF340C002E" />
<ComponentRef Id="cmp7E161D88C2C114CB3885FA17B24DF61C" />
<ComponentRef Id="cmp6C8331719E08C6FBCEB6CC712233BBF4" />
<ComponentRef Id="cmpBDF70258D61CE7435DFE24CDBB12AD63" />
@ -3206,6 +3299,7 @@
<ComponentRef Id="cmp3CBEF40748BBF5A402D4CBD168D6DE54" />
<ComponentRef Id="cmp1E34E75225AF197973357B8C6B053813" />
<ComponentRef Id="cmp9EEA592CD3AAAC7A119506E05E9251B7" />
<ComponentRef Id="cmpFFD632DFF203CC929CB0CACD3AAE8AE3" />
<ComponentRef Id="cmp181AEF3AE2DF4386012E3FE9864C934F" />
<ComponentRef Id="cmp0334817D36B4A1EB103C2DE0CA6B2599" />
<ComponentRef Id="cmp36D656C57DBEA93270A6BFB774D97F3F" />
@ -3263,6 +3357,7 @@
<ComponentRef Id="cmp8ABCBF893B67421102847F938683FE4A" />
<ComponentRef Id="cmp44A1D72F570F49CB96447FBFB6557233" />
<ComponentRef Id="cmp3F2670FE66DA907C67EE06E8665B976C" />
<ComponentRef Id="cmpBBB7C495123829980FBE79A9D2EB53A3" />
<ComponentRef Id="cmp46D2B2B0B3583E9D988E8822E4019690" />
<ComponentRef Id="cmpFAC020D4D43D9DE1C55BAD36983B62D7" />
<ComponentRef Id="cmp20A05509BD755C1EF519D072611A0E0F" />
@ -3283,6 +3378,10 @@
<ComponentRef Id="cmpC5EBF1A0F318B8E0497711394E31D7DC" />
<ComponentRef Id="cmp235180430FB6DE5147EE62ABC86D7E0E" />
<ComponentRef Id="cmpFD1FF637F9EDD0BF88DE235BB7C878F2" />
<ComponentRef Id="cmpF469AE6EA612B0399957FAF85083221B" />
<ComponentRef Id="cmp28D6E7B5DF1FD9B79A5B4D16447379A1" />
<ComponentRef Id="cmpCD008CF1C7D17EBD72102BD129C9372C" />
<ComponentRef Id="cmp8EE8340753317C13D69F692E7E42B175" />
<ComponentRef Id="cmp2BC048C87A71EBC0CB5EF453100E00AF" />
<ComponentRef Id="cmpA15EE054E1DC473F76C773A212B7B45F" />
<ComponentRef Id="cmpC0463AC44CFB7B9988043DDFA5C641DC" />
@ -3375,24 +3474,34 @@
<ComponentRef Id="cmp5CAA968EE7C749E4480233FD90EDFE63" />
<ComponentRef Id="cmp0B78CF1011DD36A33DA65473F3422B3F" />
<ComponentRef Id="cmpA897C4AAFA31A4DD27E390513E23E222" />
<ComponentRef Id="cmp6507BFAC437859C861A9F8D0535A62ED" />
<ComponentRef Id="cmp131A9DE83A67006D51F1314A42E399CA" />
<ComponentRef Id="cmp5A006A8ED1D7C7FD2C9A93F3EDC99F4F" />
<ComponentRef Id="cmp9AB7E755A85924AED823C3670C6E05B3" />
<ComponentRef Id="cmp787B2B1E92B4AEF145134D74C17913C9" />
<ComponentRef Id="cmpB5BF9FBFFC4EDD83B9F7135CF42CB617" />
<ComponentRef Id="cmp7B01F52B36B3C765D27EB8544D428AB7" />
<ComponentRef Id="cmp7E42CC4AEA15FEF46E621AD38CC09F5A" />
<ComponentRef Id="cmpB7B864E9C70EE65B799C79119DF7E80B" />
<ComponentRef Id="cmp8826130AB84A23A8748B2E58087F1733" />
<ComponentRef Id="cmp705D3AFB5E86339823E569C4645A139F" />
<ComponentRef Id="cmp3CBA7972F4711484D7FFF19457023268" />
<ComponentRef Id="cmpB57F8F8298BF0638BFC679D217D71961" />
<ComponentRef Id="cmpCB1E57631ACC09C97C35F61440812F1A" />
<ComponentRef Id="cmp16B849AA6669D83462B54D42D739CCCC" />
<ComponentRef Id="cmp91B9EAC62A0387B3AF8AD38F521C37B2" />
<ComponentRef Id="cmp0771616382C276888CCCCAEDE5A4A116" />
<ComponentRef Id="cmpAC48F0FFA8AD61A159AE77B4461BF0A1" />
<ComponentRef Id="cmp7046713066487041F1101B42659052B1" />
<ComponentRef Id="cmp1BA726DB262180ED2598DA99F6FD43C0" />
<ComponentRef Id="cmp7BAA312BC377A7444310E7C0C5B732EE" />
<ComponentRef Id="cmpCF0A8990FBA292F928410AF12C50A478" />
<ComponentRef Id="cmp79AD0BD648ECD6B9E118912F0097D63F" />
<ComponentRef Id="cmpFB4781DB59F0975FBF93CC797F221D90" />
<ComponentRef Id="cmpCAFB984E2335A717C7060C95D4B7D62C" />
<ComponentRef Id="cmp439BC40AF5EEE29D41952459738D2E71" />
<ComponentRef Id="cmpBC999082E7C53472457EFC4A6DCD2C68" />
<ComponentRef Id="cmp60AE603B10034FF0FB3BEEC9183719EB" />
<ComponentRef Id="cmp301F9E8FA547D7C9A0DF4FF20F87815D" />
<ComponentRef Id="cmp5918D53059CE7A2A3483003952E99473" />
<ComponentRef Id="cmpC546D62FCE2A69288747825E8944417D" />
@ -3404,6 +3513,7 @@
<ComponentRef Id="cmpF3A6E2A588E2828B1141B2B4F2DEE2CA" />
<ComponentRef Id="cmpDFF1A711321C50653141E2AE4BB76806" />
<ComponentRef Id="cmp5D9B9CA7570E8D2EB671AA2197A22A52" />
<ComponentRef Id="cmp52C57B0899D353B0A0560BB9EE958B68" />
<ComponentRef Id="cmp872D591FD35F7F98FB3D3950FC2E6EB5" />
<ComponentRef Id="cmp1F9962082F3309C636554C8EDBE99FDD" />
<ComponentRef Id="cmp0B1DAE7F253E744037B651E0433683D2" />
@ -3460,9 +3570,12 @@
<ComponentRef Id="cmpE1FBC775E0C4E8ECA1EB6C0F338FEDFA" />
<ComponentRef Id="cmp76B0861DA1D40E00286D729FE5E7F3A4" />
<ComponentRef Id="cmpBDBB5E1FC6460AE7D2909CE3E22E2C5D" />
<ComponentRef Id="cmpEF7A27C1B407FAE1C70BEED3039EB6E4" />
<ComponentRef Id="cmp37090521052972B67F25727C8F5F8232" />
<ComponentRef Id="cmpB308F438AEED82F3A6D0CA4D9D36AF60" />
<ComponentRef Id="cmpC06C4276E750A97B2875E0C017033BAD" />
<ComponentRef Id="cmp2F2D87277541559BE2814CD1BDFE6602" />
<ComponentRef Id="cmp273975FE717E0BB68232E0CD3E70AA82" />
<ComponentRef Id="cmpB904935B70928974D5ABC88308A90047" />
<ComponentRef Id="cmp65F5089420B349A59E3AD3073B33EF7A" />
<ComponentRef Id="cmp800CC73D98E95B64D6BE7C182FBFA775" />
@ -3477,6 +3590,7 @@
<ComponentRef Id="cmp5BD783B23E6F9C1663B531899EED3088" />
<ComponentRef Id="cmp25F6948876AE28D1DB4430494E01EBB7" />
<ComponentRef Id="cmpD50A1D50B7385232643B15A0E7CBAA57" />
<ComponentRef Id="cmpC1352E11D4D3526DFA43840F587B64D9" />
<ComponentRef Id="cmp4AFA8C6EDE02E2B9FC026EFD116FAFA7" />
<ComponentRef Id="cmpDF296415E7C26FD2E1BBE2F50639885C" />
<ComponentRef Id="cmpBAC1299B16CA8EF80BEAB5FF71CBABAE" />
@ -3487,6 +3601,7 @@
<ComponentRef Id="cmpC6CF14522ED1A54C6C7BEBF626785AF3" />
<ComponentRef Id="cmpE7777E1F03DEBFEA0E8B3CDA909F0194" />
<ComponentRef Id="cmpEB093BA48269895BD06DFA441BFE96A2" />
<ComponentRef Id="cmp80CA4C05D23968F83D1506A2A6588AE6" />
<ComponentRef Id="cmpF7A753E4CAACA8F93A7BC91300781563" />
<ComponentRef Id="cmpE3E172FC691DBB7C7EBF1DFBF61FA49C" />
<ComponentRef Id="cmpD42560EBB0A306C85371A2B783410923" />
@ -3497,6 +3612,7 @@
<ComponentRef Id="cmp8BD1CBE01DCAAEDADEF0B8F90B332624" />
<ComponentRef Id="cmp70C50DBD0A07F583F86B81D29AE05439" />
<ComponentRef Id="cmpE71F6692AEB2D19D81C0E7DA2D0C13F2" />
<ComponentRef Id="cmpF69128DBF9C6F7F630E779CA78490603" />
<ComponentRef Id="cmp5168A1A0C7C08B622BF4A720457790F9" />
<ComponentRef Id="cmp32E3B56152D388A2CD931E4E09351CB1" />
<ComponentRef Id="cmp9E3D4D3193657BCC72C5BBACB8F462DF" />

Просмотреть файл

@ -12,7 +12,7 @@
# RootModule = ''
# Version number of this module.
ModuleVersion = '5.0.0'
ModuleVersion = '5.0.1'
# Supported PSEditions
# CompatiblePSEditions = @()
@ -59,7 +59,8 @@ RequiredAssemblies = '.\AutoMapper.dll',
'.\Microsoft.Data.Edm.dll',
'.\Microsoft.Data.OData.dll',
'.\Microsoft.Data.Services.Client.dll',
'.\Microsoft.WindowsAzure.Storage.dll'
'.\Microsoft.WindowsAzure.Storage.dll',
'.\System.Spatial.dll'
# Script files (.ps1) that are run in the caller's environment prior to importing this module.
# ScriptsToProcess = @()
@ -189,16 +190,7 @@ PrivateData = @{
# IconUri = ''
# ReleaseNotes of this module
ReleaseNotes = '* NOTE: This is a breaking change release. Please see the migration guide (https://aka.ms/azps-migration-guide) for a full list of breaking changes introduced.
* Breaking Changes in Cmdlet to Manage Api Management Users
- New-AzureRmApiManagementUser Parameter `Password` is changed from String to SecureString
- Set-AzureRmApiManagementBackend Parameter `Password` is changed from String to SecureString
* Breaking Changes in Cmdlet to Create Backend Proxy Object
- New-AzureRmApiManagementBackendProxy Parameter `Password` and `UserName` have been replaced with `ProxyCredentials` of type PSCredential
* Updated Cmdlet Get-AzureRmApiManagementUser to fix issue https://github.com/Azure/azure-powershell/issues/4510
* Updated Cmdlet New-AzureRmApiManagementApi to create Api with Empty Path https://github.com/Azure/azure-powershell/issues/4069
* Add support for online help
- Run Get-Help with the -Online parameter to open the online help in your default Internet browser'
ReleaseNotes = '* Fixed assembly loading issue that caused some cmdlets to fail when executing'
# External dependent modules of this module
# ExternalModuleDependencies = ''

Просмотреть файл

@ -19,6 +19,9 @@
-->
## Current Release
## Version 5.0.1
* Fixed assembly loading issue that caused some cmdlets to fail when executing
## Version 5.0.0
* NOTE: This is a breaking change release. Please see the migration guide (https://aka.ms/azps-migration-guide) for a full list of breaking changes introduced.
* Breaking Changes in Cmdlet to Manage Api Management Users

Просмотреть файл

@ -42,5 +42,5 @@ using System.Runtime.InteropServices;
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
[assembly: AssemblyVersion("5.0.0")]
[assembly: AssemblyFileVersion("5.0.0")]
[assembly: AssemblyVersion("5.0.1")]
[assembly: AssemblyFileVersion("5.0.1")]

Просмотреть файл

@ -41,5 +41,5 @@ using System.Runtime.InteropServices;
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
[assembly: AssemblyVersion("5.0.0")]
[assembly: AssemblyFileVersion("5.0.0")]
[assembly: AssemblyVersion("5.0.1")]
[assembly: AssemblyFileVersion("5.0.1")]

Просмотреть файл

@ -41,5 +41,5 @@ using System.Runtime.InteropServices;
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
[assembly: AssemblyVersion("5.0.0")]
[assembly: AssemblyFileVersion("5.0.0")]
[assembly: AssemblyVersion("5.0.1")]
[assembly: AssemblyFileVersion("5.0.1")]

Просмотреть файл

@ -42,6 +42,6 @@ using Xunit;
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
[assembly: AssemblyVersion("5.0.0")]
[assembly: AssemblyFileVersion("5.0.0")]
[assembly: AssemblyVersion("5.0.1")]
[assembly: AssemblyFileVersion("5.0.1")]
[assembly: CollectionBehavior(DisableTestParallelization = true)]

Просмотреть файл

@ -12,7 +12,7 @@
# RootModule = ''
# Version number of this module.
ModuleVersion = '4.0.0'
ModuleVersion = '4.0.1'
# Supported PSEditions
# CompatiblePSEditions = @()
@ -54,7 +54,10 @@ CLRVersion = '4.0'
RequiredModules = @(@{ModuleName = 'AzureRM.Profile'; ModuleVersion = '4.0.0'; })
# Assemblies that must be loaded prior to importing this module
RequiredAssemblies = '.\Microsoft.Azure.Management.BackupServicesManagement.dll'
RequiredAssemblies = '.\Microsoft.Azure.Management.BackupServicesManagement.dll',
'.\Microsoft.WindowsAzure.Management.Common.dll',
'.\Microsoft.WindowsAzure.Management.Scheduler.dll',
'.\Security.Cryptography.dll'
# Script files (.ps1) that are run in the caller's environment prior to importing this module.
# ScriptsToProcess = @()
@ -122,8 +125,7 @@ PrivateData = @{
# IconUri = ''
# ReleaseNotes of this module
ReleaseNotes = '* Add support for online help
- Run Get-Help with the -Online parameter to open the online help in your default Internet browser'
ReleaseNotes = '* Fixed assembly loading issue that caused some cmdlets to fail when executing'
# External dependent modules of this module
# ExternalModuleDependencies = ''

Просмотреть файл

@ -19,6 +19,9 @@
-->
## Current Release
## Version 4.0.1
* Fixed assembly loading issue that caused some cmdlets to fail when executing
## Version 4.0.0
* Add support for online help
- Run Get-Help with the -Online parameter to open the online help in your default Internet browser

Просмотреть файл

@ -46,6 +46,6 @@ using Xunit;
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
[assembly: AssemblyVersion("4.0.0")]
[assembly: AssemblyFileVersion("4.0.0")]
[assembly: AssemblyVersion("4.0.1")]
[assembly: AssemblyFileVersion("4.0.1")]
[assembly: CollectionBehavior(DisableTestParallelization = true)]

Просмотреть файл

@ -31,5 +31,5 @@ using System.Runtime.InteropServices;
[assembly: ComVisible(false)]
[assembly: CLSCompliant(false)]
[assembly: AssemblyVersion("4.0.0")]
[assembly: AssemblyFileVersion("4.0.0")]
[assembly: AssemblyVersion("4.0.1")]
[assembly: AssemblyFileVersion("4.0.1")]

Просмотреть файл

@ -12,7 +12,7 @@
# RootModule = ''
# Version number of this module.
ModuleVersion = '4.0.0'
ModuleVersion = '4.0.1'
# Supported PSEditions
# CompatiblePSEditions = @()
@ -59,7 +59,8 @@ RequiredAssemblies = '.\Microsoft.Azure.Batch.dll',
'.\Microsoft.Data.Edm.dll',
'.\Microsoft.Data.OData.dll',
'.\Microsoft.Data.Services.Client.dll',
'.\Microsoft.WindowsAzure.Storage.dll'
'.\Microsoft.WindowsAzure.Storage.dll',
'.\System.Spatial.dll'
# Script files (.ps1) that are run in the caller's environment prior to importing this module.
# ScriptsToProcess = @()
@ -147,65 +148,7 @@ PrivateData = @{
# IconUri = ''
# ReleaseNotes of this module
ReleaseNotes = '* NOTE: This is a breaking change release. Please see the migration guide (https://aka.ms/azps-migration-guide) for a full list of breaking changes introduced.
* Added new parameters to `New-AzureRmBatchAccount`.
- `PoolAllocationMode`: The allocation mode to use for creating pools in the Batch account. To create a Batch account which allocates pool nodes in the user''s subscription, set this to `UserSubscription`.
- `KeyVaultId`: The resource ID of the Azure key vault associated with the Batch account.
- `KeyVaultUrl`: The URL of the Azure key vault associated with the Batch account.
* Updated parameters to `New-AzureBatchTask`.
- Removed the `RunElevated` switch. The `UserIdentity` parameter has been added to replace `RunElevated`, and the equivalent behavior can be achieved by constructing a `PSUserIdentity` as shown below:
- $autoUser = New-Object Microsoft.Azure.Commands.Batch.Models.PSAutoUserSpecification -ArgumentList @("Task", "Admin")
- $userIdentity = New-Object Microsoft.Azure.Commands.Batch.Models.PSUserIdentity $autoUser
- Added the `AuthenticationTokenSettings` parameter. This parameter allows you to request the Batch service provide an authentication token to the task when it runs, avoiding the need to pass Batch account keys to the task in order to issue requests to the Batch service.
- Added the `ContainerSettings` parameter.
- This parameter allows you to request the Batch service run the task inside a container.
- Added the `OutputFiles` parameter.
- This parameter allows you to configure the task to upload files to Azure Storage after it has finished.
* Updated parameters to `New-AzureBatchPool`.
- Added the `UserAccounts` parameter.
- This parameter defines user accounts created on each node in the pool.
- Added `TargetLowPriorityComputeNodes` and renamed `TargetDedicated` to `TargetDedicatedComputeNodes`.
- A `TargetDedicated` alias was created for the `TargetDedicatedComputeNodes` parameter.
- Added the `NetworkConfiguration` parameter.
- This parameter allows you to configure the pools network settings.
* Updated parameters to `New-AzureBatchCertificate`.
- The `Password` parameter is now a `SecureString`.
* Updated parameters to `New-AzureBatchComputeNodeUser`.
- The `Password` parameter is now a `SecureString`.
* Updated parameters to `Set-AzureBatchComputeNodeUser`.
- The `Password` parameter is now a `SecureString`.
* Renamed the `Name` parameter to `Path` on `Get-AzureBatchNodeFile`, `Get-AzureBatchNodeFileContent`, and `Remove-AzureBatchNodeFile`.
- A `Name` alias was created for the `Path` parameter.
* Changes to objects:
- Removed the `RunElevated` property on `PSCloudTask`, `PSStartTask`, `PSJobManagerTask`, `PSJobPreparationTask`, and `PSJobReleaseTask`. The `UserIdentity` property has been added to replace `RunElevated`. Equivalent behavior to `RunElevated = $true` can be achieved by constructing a `PSUserIdentity` as shown below:
- $autoUser = New-Object Microsoft.Azure.Commands.Batch.Models.PSAutoUserSpecification -ArgumentList @("Task", "Admin")
- $userIdentity = New-Object Microsoft.Azure.Commands.Batch.Models.PSUserIdentity $autoUser
- Added the `AuthenticationTokenSettings` property to `PSCloudTask` and `PSJobManagerTask`.
- Added the `OutputFiles` property to `PSCloudTask`, and `PSJobManagerTask`.
- Added the `ContainerSettings` property to `PSCloudTask`, `PSStartTask`, `PSJobManagerTask`, `PSJobPreparationTask`, and `PSJobReleaseTask`.
- Added the `AllowLowPriorityNode` property to `PSJobManagerTask`.
- Renamed the `SchedulingError` property on `PSJobPreparationTaskExecutionInformation`, `PSJobReleaseTaskExecutionInformation`, `PSStartTaskInformation`, `PSSubtaskInformation`, and `PSTaskExecutionInformation` to `FailureInformation`.
- `FailureInformation` is returned any time there is a task failure. This includes all previous scheduling error cases, as well as nonzero task exit codes, and file upload failures from the new output files feature.
- Renamed `PSTaskSchedulingError` to `PSTaskFailureInformation`.
- Added the `ContainerInformation` and `Result` properties to `PSJobPreparationTaskExecutionInformation`, `PSJobReleaseTaskExecutionInformation`, `PSStartTaskInformation`, `PSSubtaskInformation`, and `PSTaskExecutionInformation`.
- Added the `UserAccounts` property to `PSCloudPool` and `PSPoolSpecification`.
- Added the `TargetLowPriorityComputeNodes` property to `PSCloudPool` and `PSPoolSpecification`, and renamed `TargetDedicated` to `TargetDedicatedComputeNodes`.
- Renamed the `Name` property on `PSNodeFile` to `Path`.
- Added the `EndpointConfiguration` and `IsDedicated` property to `PSComputeNode`.
- Renamed the `SchedulingError` property on `PSExitConditions` to `PreProcessingError`.
- Added the `FileUploadError` to `PSExitConditions`.
- Added the `DependencyAction` property to `PSExitOptions`.
- Added the `OSDisk`, `ContainerConfiguration`, `DataDisks`, and `LicenseType` properties to `PSVirtualMachineConfiguration`.
- Added the `VirtualMachineImageId` property to `PSImageReference`. Note that in order to allow deploying nodes using custom VHDs, the `BatchAccountContext` must be using Azure Active Directory authentication.
- Added the `OnAllTasksComplete` and `OnTaskFailure` properties to `PSJobSpecification`.
- Added the `EndpointConfiguration` property to `PSNetworkConfiguration`.
- Renamed `ResizeError` to `ResizeErrors` on `PSCloudPool`, and it is now a collection.
- `PSMultiInstanceSettings` constructor no longer takes a required `numberOfInstances` parameter, instead it takes a required `coordinationCommandLine` parameter.
* Added support for Azure Active Directory based authentication.
- To use Azure Active Directory authentication, retrieve a `BatchAccountContext` object using the `Get-AzureRmBatchAccount` cmdlet, and supply this `BatchAccountContext` to the `-BatchContext` parameter of a Batch service cmdlet. Azure Active Directory authentication is mandatory for accounts with `PoolAllocationMode = UserSubscription`.
- For existing accounts or for new accounts created with `PoolAllocationMode = BatchService`, you may continue to use shared key authentication by retrieving a `BatchAccountContext` object using the `Get-AzureRmBatchAccoutKeys` cmdlet.
* Add support for online help
- Run Get-Help with the -Online parameter to open the online help in your default Internet browser'
ReleaseNotes = '* Fixed assembly loading issue that caused some cmdlets to fail when executing'
# External dependent modules of this module
# ExternalModuleDependencies = ''

Просмотреть файл

@ -19,6 +19,9 @@
-->
## Current Release
## Version 4.0.1
* Fixed assembly loading issue that caused some cmdlets to fail when executing
## Version 4.0.0
* NOTE: This is a breaking change release. Please see the migration guide (https://aka.ms/azps-migration-guide) for a full list of breaking changes introduced.
* Added new parameters to `New-AzureRmBatchAccount`.

Просмотреть файл

@ -33,6 +33,6 @@ using Xunit;
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
[assembly: AssemblyVersion("4.0.0")]
[assembly: AssemblyFileVersion("4.0.0")]
[assembly: AssemblyVersion("4.0.1")]
[assembly: AssemblyFileVersion("4.0.1")]
[assembly: CollectionBehavior(DisableTestParallelization = true)]

Просмотреть файл

@ -25,8 +25,8 @@ using System.Runtime.InteropServices;
[assembly: ComVisible(false)]
[assembly: CLSCompliant(false)]
[assembly: Guid("ed102280-3577-49bf-93dd-11b6e3a44a57")]
[assembly: AssemblyVersion("4.0.0")]
[assembly: AssemblyFileVersion("4.0.0")]
[assembly: AssemblyVersion("4.0.1")]
[assembly: AssemblyFileVersion("4.0.1")]
#if SIGN
[assembly: InternalsVisibleTo("Microsoft.Azure.Commands.Batch.Test, PublicKey=0024000004800000940000000602000000240000525341310004000001000100b5fc90e7027f67871e773a8fde8938c81dd402ba65b9201d60593e96c492651e889cc13f1415ebb53fac1131ae0bd333c5ee6021672d9718ea31a8aebd0da0072f25d87dba6fc90ffd598ed4da35e44c398c454307e8e33b8426143daec9f596836f97c8f74750e5975c64e2189f45def46b2a2b1247adc3652bf5c308055da9")]
#else

Просмотреть файл

@ -32,6 +32,7 @@ using System.Linq;
using System.Management.Automation;
using System.Net.Http;
using System.Threading;
using System.Text;
#if !NETSTANDARD
using Microsoft.Azure.Commands.Common.Authentication.Utilities;
@ -88,6 +89,11 @@ namespace Microsoft.WindowsAzure.Commands.ScenarioTest
#endif
// Set RunningMocked
TestMockSupport.RunningMocked = HttpMockServer.GetCurrentMode() == HttpRecorderMode.Playback;
if (File.Exists(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.UserProfile), ".azure", "testcredentials.json")))
{
SetEnvironmentVariableFromCredentialFile();
}
}
public string RMProfileModule
@ -194,7 +200,102 @@ namespace Microsoft.WindowsAzure.Commands.ScenarioTest
#endif
}
private void SetupAzureEnvironmentFromEnvironmentVariables(AzureModule mode)
public void SetEnvironmentVariableFromCredentialFile()
{
var filePath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.UserProfile), ".azure", "testcredentials.json");
Dictionary<string, object> credentials;
using (StreamReader r = new StreamReader(filePath))
{
string json = r.ReadToEnd();
credentials = JsonUtilities.DeserializeJson(json);
}
if (Environment.GetEnvironmentVariable("TEST_CSM_ORGID_AUTHENTICATION") == null)
{
StringBuilder formattedConnectionString = new StringBuilder();
formattedConnectionString.AppendFormat("SubscriptionId={0};HttpRecorderMode={1};Environment={2}", credentials["SubscriptionId"], credentials["HttpRecorderMode"], credentials["Environment"]);
if (credentials.ContainsKey("UserId"))
{
formattedConnectionString.AppendFormat(";UserId={0}", credentials["UserId"]);
}
if (credentials.ContainsKey("ServicePrincipal"))
{
formattedConnectionString.AppendFormat(";ServicePrincipal={0}", credentials["ServicePrincipal"]);
formattedConnectionString.AppendFormat(";ServicePrincipalSecret={0}", credentials["ServicePrincipalSecret"]);
}
if (credentials.ContainsKey("TenantId"))
{
formattedConnectionString.AppendFormat(";AADTenant={0}", credentials["TenantId"]);
}
if (credentials.ContainsKey("ResourceManagementUri"))
{
formattedConnectionString.AppendFormat(";ResourceManagementUri={0}", credentials["ResourceManagementUri"]);
}
if (credentials.ContainsKey("GraphUri"))
{
formattedConnectionString.AppendFormat(";GraphUri={0}", credentials["GraphUri"]);
}
if (credentials.ContainsKey("AADAuthUri"))
{
formattedConnectionString.AppendFormat(";AADAuthUri={0}", credentials["AADAuthUri"]);
}
if (credentials.ContainsKey("AADTokenAudienceUri"))
{
formattedConnectionString.AppendFormat(";AADTokenAudienceUri={0}", credentials["AADTokenAudienceUri"]);
}
if (credentials.ContainsKey("GraphTokenAudienceUri"))
{
formattedConnectionString.AppendFormat(";GraphTokenAudienceUri={0}", credentials["GraphTokenAudienceUri"]);
}
if (credentials.ContainsKey("IbizaPortalUri"))
{
formattedConnectionString.AppendFormat(";IbizaPortalUri={0}", credentials["IbizaPortalUri"]);
}
if (credentials.ContainsKey("ServiceManagementUri"))
{
formattedConnectionString.AppendFormat(";ServiceManagementUri={0}", credentials["ServiceManagementUri"]);
}
if (credentials.ContainsKey("RdfePortalUri"))
{
formattedConnectionString.AppendFormat(";RdfePortalUri={0}", credentials["RdfePortalUri"]);
}
if (credentials.ContainsKey("GalleryUri"))
{
formattedConnectionString.AppendFormat(";GalleryUri={0}", credentials["GalleryUri"]);
}
if (credentials.ContainsKey("DataLakeStoreServiceUri"))
{
formattedConnectionString.AppendFormat(";DataLakeStoreServiceUri={0}", credentials["DataLakeStoreServiceUri"]);
}
if (credentials.ContainsKey("DataLakeAnalyticsJobAndCatalogServiceUri"))
{
formattedConnectionString.AppendFormat(";DataLakeAnalyticsJobAndCatalogServiceUri={0}", credentials["DataLakeAnalyticsJobAndCatalogServiceUri"]);
}
Environment.SetEnvironmentVariable("TEST_CSM_ORGID_AUTHENTICATION", formattedConnectionString.ToString());
}
if (Environment.GetEnvironmentVariable("AZURE_TEST_MODE") == null)
{
Environment.SetEnvironmentVariable("AZURE_TEST_MODE", credentials["HttpRecorderMode"].ToString());
}
}
public void SetupAzureEnvironmentFromEnvironmentVariables(AzureModule mode)
{
TestEnvironment currentEnvironment = null;
if (mode == AzureModule.AzureResourceManager)

Просмотреть файл

@ -12,7 +12,7 @@
# RootModule = ''
# Version number of this module.
ModuleVersion = '4.0.0'
ModuleVersion = '4.0.1'
# Supported PSEditions
# CompatiblePSEditions = @()
@ -63,7 +63,8 @@ RequiredAssemblies = '.\AutoMapper.dll',
'.\Microsoft.Data.Services.Client.dll',
'.\Microsoft.WindowsAzure.Commands.Sync.dll',
'.\Microsoft.WindowsAzure.Commands.Tools.Vhd.dll',
'.\Microsoft.WindowsAzure.Storage.dll'
'.\Microsoft.WindowsAzure.Storage.dll',
'.\System.Spatial.dll'
# Script files (.ps1) that are run in the caller's environment prior to importing this module.
# ScriptsToProcess = @()
@ -211,13 +212,7 @@ PrivateData = @{
# IconUri = ''
# ReleaseNotes of this module
ReleaseNotes = '* Azure Disk Encryption Extension Commands
- New Parameter for ''Set-AzureRmVmDiskEncryptionExtension'': ''-EncryptFormatAll'' encrypt formats data disks
- New Parameters for ''Set-AzureRmVmDiskEncryptionExtension'': ''-ExtensionPublisherName'' and ''-ExtensionType'' allow switching to other versions of the extension
- New Parameters for ''Disable-AzureRmVmDiskEncryption'': ''-ExtensionPublisherName'' and ''-ExtensionType'' allow switching to other versions of the extension
- New Parameters for ''Get-AzureRmVmDiskEncryptionStatus'': ''-ExtensionPublisherName'' and ''-ExtensionType'' allow switching to other versions of the extension\
* Add support for online help
- Run Get-Help with the -Online parameter to open the online help in your default Internet browser'
ReleaseNotes = '* Fixed assembly loading issue that caused some cmdlets to fail when executing'
# External dependent modules of this module
# ExternalModuleDependencies = ''

Просмотреть файл

@ -19,6 +19,9 @@
-->
## Current Release
## Version 4.0.1
* Fixed assembly loading issue that caused some cmdlets to fail when executing
## Version 4.0.0
* Azure Disk Encryption Extension Commands
- New Parameter for 'Set-AzureRmVmDiskEncryptionExtension': '-EncryptFormatAll' encrypt formats data disks

Просмотреть файл

@ -32,6 +32,6 @@ using Xunit;
[assembly: Guid("28fe3fc0-6fdf-4f01-8a82-d7b4a834ddd2")]
[assembly: AssemblyVersion("4.0.0")]
[assembly: AssemblyFileVersion("4.0.0")]
[assembly: AssemblyVersion("4.0.1")]
[assembly: AssemblyFileVersion("4.0.1")]
[assembly: CollectionBehavior(DisableTestParallelization = true)]

Просмотреть файл

@ -25,8 +25,8 @@ using System.Runtime.InteropServices;
[assembly: ComVisible(false)]
[assembly: CLSCompliant(false)]
[assembly: Guid("91792853-487B-4DC2-BE6C-DD09A0A1BC10")]
[assembly: AssemblyVersion("4.0.0")]
[assembly: AssemblyFileVersion("4.0.0")]
[assembly: AssemblyVersion("4.0.1")]
[assembly: AssemblyFileVersion("4.0.1")]
#if SIGN
[assembly: InternalsVisibleTo("Microsoft.Azure.Commands.Compute.Test, PublicKey=0024000004800000940000000602000000240000525341310004000001000100b5fc90e7027f67871e773a8fde8938c81dd402ba65b9201d60593e96c492651e889cc13f1415ebb53fac1131ae0bd333c5ee6021672d9718ea31a8aebd0da0072f25d87dba6fc90ffd598ed4da35e44c398c454307e8e33b8426143daec9f596836f97c8f74750e5975c64e2189f45def46b2a2b1247adc3652bf5c308055da9")]
#else

Просмотреть файл

@ -40,7 +40,7 @@ The command stores it in the $VM variable.
The second command modifies the caching mode for the data disk named DataDisk01 on the virtual machine in $VM.
The command passes the result to the Update-AzureRmVM cmdlet, which implements your changes.
A change to the cashing mode causes the virtual machine to restart.
A change to the caching mode causes the virtual machine to restart.
## PARAMETERS

Просмотреть файл

@ -12,7 +12,7 @@
# RootModule = ''
# Version number of this module.
ModuleVersion = '4.0.0'
ModuleVersion = '4.0.1'
# Supported PSEditions
# CompatiblePSEditions = @()
@ -59,7 +59,8 @@ RequiredAssemblies = '.\Microsoft.Azure.Management.DataFactories.dll',
'.\Microsoft.Data.OData.dll',
'.\Microsoft.Data.Services.Client.dll',
'.\Microsoft.DataTransfer.Gateway.Encryption.dll',
'.\Microsoft.WindowsAzure.Storage.dll'
'.\Microsoft.WindowsAzure.Storage.dll',
'.\System.Spatial.dll'
# Script files (.ps1) that are run in the caller's environment prior to importing this module.
# ScriptsToProcess = @()
@ -134,8 +135,7 @@ PrivateData = @{
# IconUri = ''
# ReleaseNotes of this module
ReleaseNotes = '* Add support for online help
- Run Get-Help with the -Online parameter to open the online help in your default Internet browser'
ReleaseNotes = '* Fixed assembly loading issue that caused some cmdlets to fail when executing'
# External dependent modules of this module
# ExternalModuleDependencies = ''

Просмотреть файл

@ -19,6 +19,9 @@
-->
## Current Release
## Version 4.0.1
* Fixed assembly loading issue that caused some cmdlets to fail when executing
## Version 4.0.0
* Add support for online help
- Run Get-Help with the -Online parameter to open the online help in your default Internet browser

Просмотреть файл

@ -32,6 +32,6 @@ using Xunit;
[assembly: Guid("8E86B542-B22F-44B6-8053-3F5118E04DEA")]
[assembly: AssemblyVersion("0.3.0")]
[assembly: AssemblyFileVersion("0.3.0")]
[assembly: AssemblyVersion("4.0.1")]
[assembly: AssemblyFileVersion("4.0.1")]
[assembly: CollectionBehavior(DisableTestParallelization = true)]

Просмотреть файл

@ -25,8 +25,8 @@ using System.Runtime.InteropServices;
[assembly: ComVisible(false)]
[assembly: CLSCompliant(false)]
[assembly: Guid("5d024af0-81c9-44f0-b3b0-7080f103fb4d")]
[assembly: AssemblyVersion("0.3.0")]
[assembly: AssemblyFileVersion("0.3.0")]
[assembly: AssemblyVersion("4.0.1")]
[assembly: AssemblyFileVersion("4.0.1")]
#if SIGN
[assembly: InternalsVisibleTo("Microsoft.Azure.Commands.DataFactories.Test, PublicKey=0024000004800000940000000602000000240000525341310004000001000100b5fc90e7027f67871e773a8fde8938c81dd402ba65b9201d60593e96c492651e889cc13f1415ebb53fac1131ae0bd333c5ee6021672d9718ea31a8aebd0da0072f25d87dba6fc90ffd598ed4da35e44c398c454307e8e33b8426143daec9f596836f97c8f74750e5975c64e2189f45def46b2a2b1247adc3652bf5c308055da9")]
#else

Просмотреть файл

@ -12,7 +12,7 @@
# RootModule = ''
# Version number of this module.
ModuleVersion = '4.0.0'
ModuleVersion = '4.0.1'
# Supported PSEditions
# CompatiblePSEditions = @()
@ -59,7 +59,8 @@ RequiredAssemblies = '.\Microsoft.Azure.Management.HDInsight.dll',
'.\Microsoft.Data.Edm.dll',
'.\Microsoft.Data.OData.dll',
'.\Microsoft.Data.Services.Client.dll',
'.\Microsoft.WindowsAzure.Storage.dll'
'.\Microsoft.WindowsAzure.Storage.dll',
'.\System.Spatial.dll'
# Script files (.ps1) that are run in the caller's environment prior to importing this module.
# ScriptsToProcess = @()
@ -142,8 +143,7 @@ PrivateData = @{
# IconUri = ''
# ReleaseNotes of this module
ReleaseNotes = '* Add support for online help
- Run Get-Help with the -Online parameter to open the online help in your default Internet browser'
ReleaseNotes = '* Fixed assembly loading issue that caused some cmdlets to fail when executing'
# External dependent modules of this module
# ExternalModuleDependencies = ''

Просмотреть файл

@ -19,6 +19,9 @@
-->
## Current Release
## Version 4.0.1
* Fixed assembly loading issue that caused some cmdlets to fail when executing
## Version 4.0.0
* Add support for online help
- Run Get-Help with the -Online parameter to open the online help in your default Internet browser

Просмотреть файл

@ -46,6 +46,6 @@ using Xunit;
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
[assembly: AssemblyVersion("4.0.0")]
[assembly: AssemblyFileVersion("4.0.0")]
[assembly: AssemblyVersion("4.0.1")]
[assembly: AssemblyFileVersion("4.0.1")]
[assembly: CollectionBehavior(DisableTestParallelization = true)]

Просмотреть файл

@ -27,5 +27,5 @@ using System.Runtime.InteropServices;
[assembly: ComVisible(false)]
[assembly: CLSCompliant(false)]
[assembly: Guid("57ad7b0e-1f56-4166-b1f9-ec6512139a54")]
[assembly: AssemblyVersion("4.0.0")]
[assembly: AssemblyFileVersion("4.0.0")]
[assembly: AssemblyVersion("4.0.1")]
[assembly: AssemblyFileVersion("4.0.1")]

Просмотреть файл

@ -12,7 +12,7 @@
# RootModule = ''
# Version number of this module.
ModuleVersion = '4.0.0'
ModuleVersion = '4.0.1'
# Supported PSEditions
# CompatiblePSEditions = @()
@ -57,7 +57,11 @@ RequiredModules = @(@{ModuleName = 'AzureRM.Profile'; ModuleVersion = '4.0.0'; }
RequiredAssemblies = '.\Microsoft.Azure.ActiveDirectory.GraphClient.dll',
'.\Microsoft.Azure.KeyVault.dll',
'.\Microsoft.Azure.KeyVault.WebKey.dll',
'.\Microsoft.Azure.Management.KeyVault.dll'
'.\Microsoft.Azure.Management.KeyVault.dll',
'.\Microsoft.Data.Edm.dll',
'.\Microsoft.Data.OData.dll',
'.\Microsoft.Data.Services.Client.dll',
'.\System.Spatial.dll'
# Script files (.ps1) that are run in the caller's environment prior to importing this module.
# ScriptsToProcess = @()
@ -147,8 +151,7 @@ PrivateData = @{
# IconUri = ''
# ReleaseNotes of this module
ReleaseNotes = '* Add support for online help
- Run Get-Help with the -Online parameter to open the online help in your default Internet browser'
ReleaseNotes = '* Fixed assembly loading issue that caused some cmdlets to fail when executing'
# External dependent modules of this module
# ExternalModuleDependencies = ''

Просмотреть файл

@ -19,6 +19,9 @@
-->
## Current Release
## Version 4.0.1
* Fixed assembly loading issue that caused some cmdlets to fail when executing
## Version 4.0.0
* Add support for online help
- Run Get-Help with the -Online parameter to open the online help in your default Internet browser

Просмотреть файл

@ -47,6 +47,6 @@ using Xunit;
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
[assembly: AssemblyVersion( "3.0.0.0" )]
[assembly: AssemblyFileVersion("4.0.0")]
[assembly: AssemblyVersion( "4.0.1.0" )]
[assembly: AssemblyFileVersion("4.0.1")]
[assembly: CollectionBehavior(DisableTestParallelization = true)]

Просмотреть файл

@ -29,8 +29,8 @@ using System.Runtime.InteropServices;
[assembly: CLSCompliant(false)]
[assembly: Guid("2994548F-69B9-4DC2-8D19-52CC0C0C85BC")]
[assembly: AssemblyVersion("4.0.0")]
[assembly: AssemblyFileVersion("4.0.0")]
[assembly: AssemblyVersion("4.0.1")]
[assembly: AssemblyFileVersion("4.0.1")]
#if SIGN
[assembly: InternalsVisibleTo("Microsoft.Azure.Commands.KeyVault.Test, PublicKey=0024000004800000940000000602000000240000525341310004000001000100b5fc90e7027f67871e773a8fde8938c81dd402ba65b9201d60593e96c492651e889cc13f1415ebb53fac1131ae0bd333c5ee6021672d9718ea31a8aebd0da0072f25d87dba6fc90ffd598ed4da35e44c398c454307e8e33b8426143daec9f596836f97c8f74750e5975c64e2189f45def46b2a2b1247adc3652bf5c308055da9")]
#else

Просмотреть файл

@ -0,0 +1,52 @@
// ----------------------------------------------------------------------------------
//
// Copyright Microsoft Corporation
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
// http://www.apache.org/licenses/LICENSE-2.0
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
// ----------------------------------------------------------------------------------
using Microsoft.Azure.Commands.ResourceManager.Common;
using Microsoft.Azure.Commands.Resources.Test.ScenarioTests;
using Microsoft.Azure.Commands.ScenarioTest;
using Microsoft.Azure.ServiceManagemenet.Common.Models;
using Microsoft.WindowsAzure.Commands.ScenarioTest;
using Microsoft.WindowsAzure.Commands.Test.Utilities.Common;
using Xunit;
using Xunit.Abstractions;
namespace Microsoft.Azure.Commands.Profile.Test
{
public class ArgumentCompleterTests : RMTestBase
{
private XunitTracingInterceptor xunitLogger;
public ArgumentCompleterTests(ITestOutputHelper output)
{
TestExecutionHelpers.SetUpSessionAndProfile();
ResourceManagerProfileProvider.InitializeResourceManagerProfile(true);
xunitLogger = new XunitTracingInterceptor(output);
}
[Fact]
[Trait(Category.AcceptanceType, Category.CheckIn)]
public void TestLocationCompleter()
{
ProfileController.NewInstance.RunPsTest(xunitLogger, "72f988bf-86f1-41af-91ab-2d7cd011db47", "Test-LocationCompleter");
}
[Fact]
[Trait(Category.AcceptanceType, Category.CheckIn)]
public void TestResourceGroupCompleter()
{
ProfileController.NewInstance.RunPsTest(xunitLogger, "72f988bf-86f1-41af-91ab-2d7cd011db47", "Test-ResourceGroupCompleter");
}
}
}

Просмотреть файл

@ -0,0 +1,42 @@
# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------
<#
.SYNOPSIS
Tests location completer
#>
function Test-LocationCompleter
{
$filePath = Join-Path -Path $PSScriptRoot -ChildPath "\Microsoft.Azure.Commands.ResourceManager.Common.dll"
$assembly = [System.Reflection.Assembly]::LoadFrom($filePath)
$resourceTypes = @("Microsoft.Batch/operations")
$locations = [Microsoft.Azure.Commands.ResourceManager.Common.ArgumentCompleters.LocationCompleterAttribute]::FindLocations($resourceTypes)
$expectedResourceType = Get-AzureRmResourceProvider -ProviderNamespace "Microsoft.Batch" | Where-Object {$_.ResourceTypes.ResourceTypeName -eq "operations"}
$expectedLocations = $expectedResourceType.Locations | ForEach-Object {"`"" + $_ + "`""}
Assert-AreEqualArray $locations $expectedLocations
}
<#
.SYNOPSIS
Tests resource group completer
#>
function Test-ResourceGroupCompleter
{
$filePath = Join-Path -Path $PSScriptRoot -ChildPath "\Microsoft.Azure.Commands.ResourceManager.Common.dll"
$assembly = [System.Reflection.Assembly]::LoadFrom($filePath)
$resourceGroups = [Microsoft.Azure.Commands.ResourceManager.Common.ArgumentCompleters.ResourceGroupCompleterAttribute]::GetResourceGroups()
$expectResourceGroups = Get-AzureRmResourceGroup | ForEach-Object {$_.ResourceGroupName}
Assert-AreEqualArray $resourceGroups $expectResourceGroups
}

Просмотреть файл

@ -187,6 +187,7 @@
</Reference>
</ItemGroup>
<ItemGroup>
<Compile Include="ArgumentCompleterTests.cs" />
<Compile Include="AutosaveTests.cs" />
<Compile Include="AzureRmProfileTests.cs" />
<Compile Include="ClientFactoryTests.cs" />
@ -227,10 +228,19 @@
<SubType>Designer</SubType>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="ArgumentCompleterTests.ps1">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="MSSharedLibKey.snk" />
<None Include="packages.config">
<SubType>Designer</SubType>
</None>
<None Include="SessionRecords\Microsoft.Azure.Commands.Profile.Test.ArgumentCompleterTests\TestLocationCompleter.json">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="SessionRecords\Microsoft.Azure.Commands.Profile.Test.ArgumentCompleterTests\TestResourceGroupCompleter.json">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="SessionRecords\Microsoft.Azure.Commands.Profile.Test.DefaultCmdletTests\DefaultResourceGroup.json">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>

Различия файлов скрыты, потому что одна или несколько строк слишком длинны

Различия файлов скрыты, потому что одна или несколько строк слишком длинны

Просмотреть файл

@ -35,9 +35,10 @@ access.
```
PS C:\>Get-AzureRmSubscription
Subscription Name : Contoso Subscription 1
SubscriptionId : xxxx-xxxx-xxxx-xxxx
TenantId : yyyy-yyyy-yyyy-yyyy
Name : Contoso Subscription 1
Id : xxxx-xxxx-xxxx-xxxx
TenantId : yyyy-yyyy-yyyy-yyyy
State : Enabled
```
This command gets all subscriptions in all tenants that are authorized for
@ -47,13 +48,15 @@ the current account.
```
PS C:\>Get-AzureRmSubscription -TenantId "xxxx-xxxx-xxxx-xxxx"
Subscription Name : Contoso Subscription 1
SubscriptionId : yyyy-yyyy-yyyy-yyyy
TenantId : xxxx-xxxx-xxxx-xxxx
Name : Contoso Subscription 1
Id : yyyy-yyyy-yyyy-yyyy
TenantId : xxxx-xxxx-xxxx-xxxx
State : Enabled
Subscription Name : Contoso Subscription 2
SubscriptionId : yyyy-yyyy-yyyy-yyyy
TenantId : xxxx-xxxx-xxxx-xxxx
Name : Contoso Subscription 2
Id : yyyy-yyyy-yyyy-yyyy
TenantId : xxxx-xxxx-xxxx-xxxx
State : Enabled
```
List all subscriptions in the given tenant that are authorized for the
@ -63,13 +66,15 @@ current account.
```
PS C:\>Get-AzureRmSubscription
Subscription Name : Contoso Subscription 1
SubscriptionId : yyyy-yyyy-yyyy-yyyy
TenantId : xxxx-xxxx-xxxx-xxxx
Name : Contoso Subscription 1
Id : yyyy-yyyy-yyyy-yyyy
TenantId : xxxx-xxxx-xxxx-xxxx
State : Enabled
Subscription Name : Contoso Subscription 2
SubscriptionId : yyyy-yyyy-yyyy-yyyy
TenantId : xxxx-xxxx-xxxx-xxxx
Name : Contoso Subscription 2
Id : yyyy-yyyy-yyyy-yyyy
TenantId : xxxx-xxxx-xxxx-xxxx
State : Enabled
```
This command gets all subscriptions in the current tenant that are
@ -79,9 +84,12 @@ authorized for the current user.
```
PS C:\>Get-AzureRmSubscription -SubscriptionId "xxxx-xxxx-xxxx-xxxx" -TenantId "yyyy-yyyy-yyyy-yyyy" | Set-AzureRmContext
Subscription Name : Contoso Subscription 1
SubscriptionId : xxxx-xxxx-xxxx-xxxx
TenantId : yyyy-yyyy-yyyy-yyyy
Environment : AzureCloud
Account : user@example.com
TenantId : yyyy-yyyy-yyyy-yyyy
SubscriptionId : xxxx-xxxx-xxxx-xxxx
SubscriptionName : Contoso Subscription 1
CurrentStorageAccount :
```
This command gets the specified subscription, and then sets the current

Просмотреть файл

@ -12,7 +12,7 @@
# RootModule = ''
# Version number of this module.
ModuleVersion = '4.0.0'
ModuleVersion = '4.0.1'
# Supported PSEditions
# CompatiblePSEditions = @()
@ -54,8 +54,15 @@ CLRVersion = '4.0'
RequiredModules = @(@{ModuleName = 'AzureRM.Profile'; ModuleVersion = '4.0.0'; })
# Assemblies that must be loaded prior to importing this module
RequiredAssemblies = '.\Microsoft.Azure.Commands.RecoveryServices.Backup.Models.dll',
'.\Microsoft.Azure.Management.RecoveryServices.Backup.dll'
RequiredAssemblies = '.\Microsoft.Azure.Commands.RecoveryServices.ARM.dll',
'.\Microsoft.Azure.Commands.RecoveryServices.Backup.Models.dll',
'.\Microsoft.Azure.Management.RecoveryServices.Backup.dll',
'.\Microsoft.Azure.Commands.RecoveryServices.Backup.Helpers.dll',
'.\Microsoft.Azure.Commands.RecoveryServices.Backup.Logger.dll',
'.\Microsoft.Azure.Commands.RecoveryServices.Backup.Providers.dll',
'.\Microsoft.Azure.Commands.RecoveryServices.Backup.ServiceClientAdapter.dll',
'.\Microsoft.Azure.Management.RecoveryServices.dll',
'.\Security.Cryptography.dll'
# Script files (.ps1) that are run in the caller's environment prior to importing this module.
# ScriptsToProcess = @()
@ -130,14 +137,7 @@ PrivateData = @{
# IconUri = ''
# ReleaseNotes of this module
ReleaseNotes = '* Added cmdlets to perform instant file recovery.
- Get-AzureRmRecoveryServicesBackupRPMountScript
- Disable-AzureRmRecoveryServicesBackupRPMountScript
* Updated RecoveryServices.Backup SDK version to the latest
* Updated tests for the Azure VM workload so that, all setups needed for test runs are done by the tests themselves.
* Fixes https://github.com/Azure/azure-powershell/issues/3164
* Add support for online help
- Run Get-Help with the -Online parameter to open the online help in your default Internet browser'
ReleaseNotes = '* Fixed assembly loading issue that caused some cmdlets to fail when executing'
# External dependent modules of this module
# ExternalModuleDependencies = ''

Просмотреть файл

@ -19,6 +19,9 @@
-->
## Current Release
## Version 4.0.1
* Fixed assembly loading issue that caused some cmdlets to fail when executing
## Version 4.0.0
* Added cmdlets to perform instant file recovery.
- Get-AzureRmRecoveryServicesBackupRPMountScript

Просмотреть файл

@ -41,5 +41,5 @@ using System.Runtime.InteropServices;
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("4.0.0")]
[assembly: AssemblyFileVersion("4.0.0")]
[assembly: AssemblyVersion("4.0.1")]
[assembly: AssemblyFileVersion("4.0.1")]

Просмотреть файл

@ -41,5 +41,5 @@ using System.Runtime.InteropServices;
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("4.0.0")]
[assembly: AssemblyFileVersion("4.0.0")]
[assembly: AssemblyVersion("4.0.1")]
[assembly: AssemblyFileVersion("4.0.1")]

Просмотреть файл

@ -41,5 +41,5 @@ using System.Runtime.InteropServices;
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("4.0.0")]
[assembly: AssemblyFileVersion("4.0.0")]
[assembly: AssemblyVersion("4.0.1")]
[assembly: AssemblyFileVersion("4.0.1")]

Просмотреть файл

@ -41,5 +41,5 @@ using System.Runtime.InteropServices;
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("4.0.0")]
[assembly: AssemblyFileVersion("4.0.0")]
[assembly: AssemblyVersion("4.0.1")]
[assembly: AssemblyFileVersion("4.0.1")]

Просмотреть файл

@ -41,5 +41,5 @@ using System.Runtime.InteropServices;
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("4.0.0")]
[assembly: AssemblyFileVersion("4.0.0")]
[assembly: AssemblyVersion("4.0.1")]
[assembly: AssemblyFileVersion("4.0.1")]

Просмотреть файл

@ -47,6 +47,6 @@ using Xunit;
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("4.0.0")]
[assembly: AssemblyFileVersion("4.0.0")]
[assembly: AssemblyVersion("4.0.1")]
[assembly: AssemblyFileVersion("4.0.1")]
[assembly: CollectionBehavior(DisableTestParallelization = true)]

Просмотреть файл

@ -41,5 +41,5 @@ using System.Runtime.InteropServices;
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("4.0.0")]
[assembly: AssemblyFileVersion("4.0.0")]
[assembly: AssemblyVersion("4.0.1")]
[assembly: AssemblyFileVersion("4.0.1")]

Просмотреть файл

@ -12,7 +12,7 @@
# RootModule = ''
# Version number of this module.
ModuleVersion = '0.2.0'
ModuleVersion = '0.2.1'
# Supported PSEditions
# CompatiblePSEditions = @()
@ -55,8 +55,10 @@ RequiredModules = @(@{ModuleName = 'AzureRM.Profile'; ModuleVersion = '4.0.0'; }
# Assemblies that must be loaded prior to importing this module
RequiredAssemblies = '.\AutoMapper.dll',
'.\Microsoft.Azure.Commands.RecoveryServices.ARM.dll',
'.\Microsoft.Azure.Management.RecoveryServices.dll',
'.\Microsoft.Azure.Management.RecoveryServices.SiteRecovery.dll'
'.\Microsoft.Azure.Management.RecoveryServices.SiteRecovery.dll',
'.\Security.Cryptography.dll'
# Script files (.ps1) that are run in the caller's environment prior to importing this module.
# ScriptsToProcess = @()
@ -242,28 +244,7 @@ PrivateData = @{
# IconUri = ''
# ReleaseNotes of this module
ReleaseNotes = '* Changes for ASR VMware to Azure Site Recovery (cmdlets are currently supporting operations for Enterprise to Enterprise, Enterprise to Azure, HyperV to Azure)
- New-AzureRmRecoveryServicesAsrPolicy
- New-AzureRmRecoveryServicesAsrProtectedItem
- Update-AzureRmRecoveryServicesAsrPolicy
- Update-AzureRmRecoveryServicesAsrProtectionDirection
* Added support to AAD-based vault
* Added cmdlets to manage VCenter resources
- Get-AzureRmRecoveryServicesAsrVCenter
- New-AzureRmRecoveryServicesAsrVCenter
- Remove-AzureRmRecoveryServicesAsrVCenter
- Update-AzureRmRecoveryServicesAsrVCenter
* Added other cmdlets
- Get-AzureRmRecoveryServicesAsrAlertSetting
- Get-AzureRmRecoveryServicesAsrEvent
- New-AzureRmRecoveryServicesAsrProtectableItem
- Set-AzureRmRecoveryServicesAsrAlertSetting
- Start-AzureRmRecoveryServicesAsrResynchronizeReplicationJob
- Start-AzureRmRecoveryServicesAsrSwitchProcessServerJob
- Start-AzureRmRecoveryServicesAsrTestFailoverCleanupJob
- Update-AzureRmRecoveryServicesAsrMobilityService
* Add support for online help
- Run Get-Help with the -Online parameter to open the online help in your default Internet browser'
ReleaseNotes = '* Fixed assembly loading issue that caused some cmdlets to fail when executing'
# External dependent modules of this module
# ExternalModuleDependencies = ''

Просмотреть файл

@ -19,6 +19,9 @@
-->
## Current Release
## Version 0.2.1
* Fixed assembly loading issue that caused some cmdlets to fail when executing
## Version 0.2.0
* Changes for ASR VMware to Azure Site Recovery (cmdlets are currently supporting operations for Enterprise to Enterprise, Enterprise to Azure, HyperV to Azure)
- New-AzureRmRecoveryServicesAsrPolicy

Просмотреть файл

@ -43,6 +43,6 @@ using Xunit;
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
[assembly: AssemblyVersion("0.2.0")]
[assembly: AssemblyFileVersion("0.2.0")]
[assembly: AssemblyVersion("0.2.1")]
[assembly: AssemblyFileVersion("0.2.1")]
[assembly: CollectionBehavior(DisableTestParallelization = true)]

Просмотреть файл

@ -42,5 +42,5 @@ using Microsoft.WindowsAzure.Commands.Common;
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
[assembly: AssemblyVersion("0.2.0")]
[assembly: AssemblyFileVersion("0.2.0")]
[assembly: AssemblyVersion("0.2.1")]
[assembly: AssemblyFileVersion("0.2.1")]

Просмотреть файл

@ -12,7 +12,7 @@
# RootModule = ''
# Version number of this module.
ModuleVersion = '4.0.0'
ModuleVersion = '4.0.1'
# Supported PSEditions
# CompatiblePSEditions = @()
@ -54,7 +54,8 @@ CLRVersion = '4.0'
RequiredModules = @(@{ModuleName = 'AzureRM.Profile'; ModuleVersion = '4.0.0'; })
# Assemblies that must be loaded prior to importing this module
RequiredAssemblies = '.\Microsoft.Azure.Management.RecoveryServices.dll'
RequiredAssemblies = '.\Microsoft.Azure.Management.RecoveryServices.dll',
'.\Security.Cryptography.dll'
# Script files (.ps1) that are run in the caller's environment prior to importing this module.
# ScriptsToProcess = @()
@ -113,8 +114,7 @@ PrivateData = @{
# IconUri = ''
# ReleaseNotes of this module
ReleaseNotes = '* Add support for online help
- Run Get-Help with the -Online parameter to open the online help in your default Internet browser'
ReleaseNotes = '* Fixed assembly loading issue that caused some cmdlets to fail when executing'
# External dependent modules of this module
# ExternalModuleDependencies = ''

Просмотреть файл

@ -19,6 +19,9 @@
-->
## Current Release
## Version 4.0.1
* Fixed assembly loading issue that caused some cmdlets to fail when executing
## Version 4.0.0
* Add support for online help
- Run Get-Help with the -Online parameter to open the online help in your default Internet browser

Просмотреть файл

@ -43,5 +43,5 @@ using Xunit;
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
[assembly: AssemblyVersion("4.0.0")]
[assembly: AssemblyFileVersion("4.0.0")]
[assembly: AssemblyVersion("4.0.1")]
[assembly: AssemblyFileVersion("4.0.1")]

Просмотреть файл

@ -42,5 +42,5 @@ using System.Runtime.InteropServices;
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
[assembly: AssemblyVersion("4.0.0")]
[assembly: AssemblyFileVersion("4.0.0")]
[assembly: AssemblyVersion("4.0.1")]
[assembly: AssemblyFileVersion("4.0.1")]

Просмотреть файл

@ -12,7 +12,7 @@
# RootModule = ''
# Version number of this module.
ModuleVersion = '4.0.0'
ModuleVersion = '4.0.1'
# Supported PSEditions
# CompatiblePSEditions = @()
@ -59,7 +59,8 @@ RequiredAssemblies = '.\Microsoft.Azure.Insights.dll',
'.\Microsoft.Data.Edm.dll',
'.\Microsoft.Data.OData.dll',
'.\Microsoft.Data.Services.Client.dll',
'.\Microsoft.WindowsAzure.Storage.dll'
'.\Microsoft.WindowsAzure.Storage.dll',
'.\System.Spatial.dll'
# Script files (.ps1) that are run in the caller's environment prior to importing this module.
# ScriptsToProcess = @()
@ -121,8 +122,7 @@ PrivateData = @{
# IconUri = ''
# ReleaseNotes of this module
ReleaseNotes = '* Add support for online help
- Run Get-Help with the -Online parameter to open the online help in your default Internet browser'
ReleaseNotes = '* Fixed assembly loading issue that caused some cmdlets to fail when executing'
# External dependent modules of this module
# ExternalModuleDependencies = ''

Просмотреть файл

@ -19,6 +19,9 @@
-->
## Current Release
## Version 4.0.1
* Fixed assembly loading issue that caused some cmdlets to fail when executing
## Version 4.0.0
* Add support for online help
- Run Get-Help with the -Online parameter to open the online help in your default Internet browser

Просмотреть файл

@ -32,6 +32,6 @@ using Xunit;
[assembly: Guid("C01CC766-EAA4-4CA3-A595-6C4681316532")]
[assembly: AssemblyVersion("4.0.0")]
[assembly: AssemblyFileVersion("4.0.0")]
[assembly: AssemblyVersion("4.0.1")]
[assembly: AssemblyFileVersion("4.0.1")]
[assembly: CollectionBehavior(DisableTestParallelization = true)]

Просмотреть файл

@ -25,8 +25,8 @@ using System.Runtime.InteropServices;
[assembly: ComVisible(false)]
[assembly: CLSCompliant(false)]
[assembly: Guid("6D663ED9-C1A5-438F-B88A-D709562538C6")]
[assembly: AssemblyVersion("4.0.0")]
[assembly: AssemblyFileVersion("4.0.0")]
[assembly: AssemblyVersion("4.0.1")]
[assembly: AssemblyFileVersion("4.0.1")]
#if SIGN
[assembly: InternalsVisibleTo("Microsoft.Azure.Commands.RedisCache.Test, PublicKey=0024000004800000940000000602000000240000525341310004000001000100b5fc90e7027f67871e773a8fde8938c81dd402ba65b9201d60593e96c492651e889cc13f1415ebb53fac1131ae0bd333c5ee6021672d9718ea31a8aebd0da0072f25d87dba6fc90ffd598ed4da35e44c398c454307e8e33b8426143daec9f596836f97c8f74750e5975c64e2189f45def46b2a2b1247adc3652bf5c308055da9")]
#else

Просмотреть файл

@ -18,6 +18,8 @@
- Additional information about change #1
-->
## Current Release
* Fixed issue where Get-AzureRMRoleAssignment would result in a assignments without roledefiniton name for custom roles
- Users can now use Get-AzureRMRoleAssignment with assignments having roledefinition names irrespective of the type of role
## Version 5.0.0
* Add support for online help

Просмотреть файл

@ -709,6 +709,9 @@
<None Include="SessionRecords\Microsoft.Azure.Commands.Resources.Test.ScenarioTests.RoleAssignmentTests\RaDeletionByScope.json">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Include="SessionRecords\Microsoft.Azure.Commands.Resources.Test.ScenarioTests.RoleAssignmentTests\RaPropertiesValidation.json">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Include="SessionRecords\Microsoft.Azure.Commands.Resources.Test.ScenarioTests.RoleDefinitionTests\RdNegativeScenarios.json">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>

Просмотреть файл

@ -44,6 +44,12 @@ namespace Microsoft.Azure.Commands.Resources.Test.ScenarioTests
ResourcesController.NewInstance.RunPsTest("Test-RaClassicAdmins");
}
[Fact]
[Trait(Category.AcceptanceType, Category.CheckIn)]
public void RaPropertiesValidation() {
ResourcesController.NewInstance.RunPsTest("Test-RaPropertiesValidation");
}
[Fact]
[Trait(Category.AcceptanceType, Category.CheckIn)]
public void RaNegativeScenarios()

Просмотреть файл

@ -379,6 +379,55 @@ function Test-RaDeletionByScopeAtRootScope
VerifyRoleAssignmentDeleted $newAssignment
}
<#
.SYNOPSIS
Tests verifies creation and validation of RoleAssignment properties for not null
#>
function Test-RaPropertiesValidation
{
# Setup
$users = Get-AzureRmADUser | Select-Object -First 1 -Wait
$subscription = Get-AzureRmSubscription
$scope = '/subscriptions/'+$subscription[0].Id
$roleDef = Get-AzureRmRoleDefinition -Name "Reader"
$roleDef.Id = $null
$roleDef.Name = "Custom Reader Test"
$roleDef.Actions.Add("Microsoft.ClassicCompute/virtualMachines/restart/action")
$roleDef.Description = "Read, monitor and restart virtual machines"
$roleDef.AssignableScopes[0] = "/subscriptions/4004a9fd-d58e-48dc-aeb2-4a4aec58606f"
[Microsoft.Azure.Commands.Resources.Models.Authorization.AuthorizationClient]::RoleDefinitionNames.Enqueue("032F61D2-ED09-40C9-8657-26A273DA7BAE")
New-AzureRmRoleDefinition -Role $roleDef
$rd = Get-AzureRmRoleDefinition -Name "Custom Reader Test"
# Test
[Microsoft.Azure.Commands.Resources.Models.Authorization.AuthorizationClient]::RoleAssignmentNames.Enqueue("fa1a4d3b-2cca-406b-8956-6b6b32377641")
$newAssignment = New-AzureRmRoleAssignment `
-ObjectId $users[0].Id.Guid `
-RoleDefinitionName $roleDef.Name `
-Scope $scope
$newAssignment.Scope = $scope.toUpper()
$assignments = Get-AzureRmRoleAssignment
Assert-NotNull $assignments
foreach ($assignment in $assignments){
Assert-NotNull $assignment
Assert-NotNull $assignment.RoleDefinitionName
Assert-AreNotEqual $assignment.RoleDefinitionName ""
}
# cleanup
DeleteRoleAssignment $newAssignment
Remove-AzureRmRoleDefinition -Id $rd.Id -Force
# Assert
Assert-NotNull $newAssignment
Assert-AreEqual $roleDef.Name $newAssignment.RoleDefinitionName
Assert-AreEqual $scope $newAssignment.Scope
Assert-AreEqual $users[0].DisplayName $newAssignment.DisplayName
VerifyRoleAssignmentDeleted $newAssignment
}
<#
.SYNOPSIS

Различия файлов скрыты, потому что одна или несколько строк слишком длинны

Различия файлов скрыты, потому что одна или несколько строк слишком длинны

Различия файлов скрыты, потому что одна или несколько строк слишком длинны

Различия файлов скрыты, потому что одна или несколько строк слишком длинны

Просмотреть файл

@ -224,8 +224,16 @@ namespace Microsoft.Azure.Commands.Resources.Models.Authorization
var tempResult = AuthorizationManagementClient.RoleAssignments.List(
new Rest.Azure.OData.ODataQuery<RoleAssignmentFilter>(f => f.PrincipalId == principalId));
result.AddRange(tempResult.FilterRoleAssignmentsOnRoleId(AuthorizationHelper.ConstructFullyQualifiedRoleDefinitionIdFromScopeAndIdAsGuid(currentSubscription, options.RoleDefinitionId))
.ToPSRoleAssignments(this, ActiveDirectoryClient, options.Scope, options.ExcludeAssignmentsForDeletedPrincipals));
if (!string.IsNullOrEmpty(options.Scope))
{
result.AddRange(tempResult.FilterRoleAssignmentsOnRoleId(AuthorizationHelper.ConstructFullyQualifiedRoleDefinitionIdFromScopeAndIdAsGuid(currentSubscription, options.RoleDefinitionId))
.ToPSRoleAssignments(this, ActiveDirectoryClient, options.Scope, options.ExcludeAssignmentsForDeletedPrincipals));
}
else
{
result.AddRange(tempResult.FilterRoleAssignmentsOnRoleId(AuthorizationHelper.ConstructFullyQualifiedRoleDefinitionIdFromScopeAndIdAsGuid(currentSubscription, options.RoleDefinitionId))
.ToPSRoleAssignments(this, ActiveDirectoryClient, AuthorizationHelper.GetSubscriptionScope(currentSubscription), options.ExcludeAssignmentsForDeletedPrincipals));
}
while (!string.IsNullOrWhiteSpace(tempResult.NextPageLink))
{
@ -264,14 +272,13 @@ namespace Microsoft.Azure.Commands.Resources.Models.Authorization
new Rest.Azure.OData.ODataQuery<RoleAssignmentFilter>(f => f.PrincipalId == principalId));
result.AddRange(tempResult
.FilterRoleAssignmentsOnRoleId(AuthorizationHelper.ConstructFullyQualifiedRoleDefinitionIdFromScopeAndIdAsGuid(currentSubscription, options.RoleDefinitionId))
.ToPSRoleAssignments(this, ActiveDirectoryClient, options.Scope, options.ExcludeAssignmentsForDeletedPrincipals));
.ToPSRoleAssignments(this, ActiveDirectoryClient, AuthorizationHelper.GetSubscriptionScope(currentSubscription), options.ExcludeAssignmentsForDeletedPrincipals));
while (!string.IsNullOrWhiteSpace(tempResult.NextPageLink))
{
tempResult = AuthorizationManagementClient.RoleAssignments.ListNext(tempResult.NextPageLink);
result.AddRange(tempResult
.FilterRoleAssignmentsOnRoleId(AuthorizationHelper.ConstructFullyQualifiedRoleDefinitionIdFromScopeAndIdAsGuid(currentSubscription, options.RoleDefinitionId))
.ToPSRoleAssignments(this, ActiveDirectoryClient, options.Scope, options.ExcludeAssignmentsForDeletedPrincipals));
result.AddRange(tempResult.FilterRoleAssignmentsOnRoleId(AuthorizationHelper.ConstructFullyQualifiedRoleDefinitionIdFromScopeAndIdAsGuid(currentSubscription, options.RoleDefinitionId))
.ToPSRoleAssignments(this, ActiveDirectoryClient, AuthorizationHelper.GetSubscriptionScope(currentSubscription), options.ExcludeAssignmentsForDeletedPrincipals));
}
}

Просмотреть файл

@ -15,7 +15,7 @@ Adds a credential to an existing application.
### ApplicationObjectIdWithPasswordParameterSet (Default)
```
New-AzureRmADAppCredential -ObjectId <String> -Password <String> [-StartDate <DateTime>] [-EndDate <DateTime>]
New-AzureRmADAppCredential -ObjectId <String> -Password <SecureString> [-StartDate <DateTime>] [-EndDate <DateTime>]
[-DefaultProfile <IAzureContextContainer>] [-WhatIf] [-Confirm] [<CommonParameters>]
```
@ -33,7 +33,7 @@ New-AzureRmADAppCredential -ApplicationId <String> -CertValue <String> [-StartDa
### ApplicationIdWithPasswordParameterSet
```
New-AzureRmADAppCredential -ApplicationId <String> -Password <String> [-StartDate <DateTime>]
New-AzureRmADAppCredential -ApplicationId <String> -Password <SecureString> [-StartDate <DateTime>]
[-EndDate <DateTime>] [-DefaultProfile <IAzureContextContainer>] [-WhatIf] [-Confirm] [<CommonParameters>]
```
@ -45,7 +45,8 @@ The application is identified by supplying either the application object id or a
### -------------------------- Example 1 --------------------------
```
PS E:\> New-AzureRmADAppCredential -ObjectId 1f89cf81-0146-4f4e-beae-2007d0668416 -Password P@ssw0rd!
PS E:\> $SecureStringPassword = ConvertTo-SecureString -String "password" -AsPlainText -Force
PS E:\> New-AzureRmADAppCredential -ObjectId 1f89cf81-0146-4f4e-beae-2007d0668416 -Password $SecureStringPassword
```
A new password credential is added to an existing application.
@ -156,7 +157,7 @@ Accept wildcard characters: False
The password to be associated with the application.
```yaml
Type: String
Type: SecureString
Parameter Sets: ApplicationObjectIdWithPasswordParameterSet, ApplicationIdWithPasswordParameterSet
Aliases:

Просмотреть файл

@ -23,7 +23,7 @@ New-AzureRmADApplication -DisplayName <String> -IdentifierUris <String[]> [-Home
### ApplicationWithPasswordPlainParameterSet
```
New-AzureRmADApplication -DisplayName <String> -IdentifierUris <String[]> [-HomePage <String>]
[-ReplyUrls <String[]>] [-AvailableToOtherTenants <Boolean>] -Password <String> [-StartDate <DateTime>]
[-ReplyUrls <String[]>] [-AvailableToOtherTenants <Boolean>] -Password <SecureString> [-StartDate <DateTime>]
[-EndDate <DateTime>] [-DefaultProfile <IAzureContextContainer>] [-WhatIf] [-Confirm] [<CommonParameters>]
```
@ -62,8 +62,9 @@ Creates a new azure active directory application without any credentials.
### -------------------------- Create new AAD application with password. --------------------------
```
PS E:\> $SecureStringPassword = ConvertTo-SecureString -String "password" -AsPlainText -Force
PS C:\> New-AzureRmADApplication -DisplayName "NewApplication" -HomePage "http://www.microsoft.com" -IdentifierUris "http:
//NewApplication" -Password "password"
//NewApplication" -Password $SecureStringPassword
```
Creates a new azure active directory application and associates password credentials with it.
@ -197,7 +198,7 @@ Accept wildcard characters: False
The password to be associated with the application.
```yaml
Type: String
Type: SecureString
Parameter Sets: ApplicationWithPasswordPlainParameterSet
Aliases:

Просмотреть файл

@ -21,7 +21,7 @@ New-AzureRmADServicePrincipal -ApplicationId <Guid> [-DefaultProfile <IAzureCont
### ApplicationWithPasswordPlainParameterSet
```
New-AzureRmADServicePrincipal -ApplicationId <Guid> -Password <String> [-StartDate <DateTime>]
New-AzureRmADServicePrincipal -ApplicationId <Guid> -Password <SecureString> [-StartDate <DateTime>]
[-EndDate <DateTime>] [-DefaultProfile <IAzureContextContainer>] [-WhatIf] [-Confirm] [<CommonParameters>]
```
@ -51,7 +51,7 @@ New-AzureRmADServicePrincipal -DisplayName <String> [-DefaultProfile <IAzureCont
### DisplayNameWithPasswordPlainParameterSet
```
New-AzureRmADServicePrincipal -DisplayName <String> -Password <String> [-StartDate <DateTime>]
New-AzureRmADServicePrincipal -DisplayName <String> -Password <SecureString> [-StartDate <DateTime>]
[-EndDate <DateTime>] [-DefaultProfile <IAzureContextContainer>] [-WhatIf] [-Confirm] [<CommonParameters>]
```
@ -94,7 +94,8 @@ DemoApp ServicePrincipal f95b6f5c-fc98-4af0
### -------------------------- Example 2 --------------------------
```
New-AzureRmADServicePrincipal -DisplayName SPForNoExistingApp
$SecureStringPassword = ConvertTo-SecureString -String "password" -AsPlainText -Force
New-AzureRmADServicePrincipal -DisplayName SPForNoExistingApp -Password $SecureStringPassword
```
Creates a new service principal.
@ -205,7 +206,7 @@ Accept wildcard characters: False
The password to be associated with the service principal.
```yaml
Type: String
Type: SecureString
Parameter Sets: ApplicationWithPasswordPlainParameterSet, DisplayNameWithPasswordPlainParameterSet
Aliases:

Просмотреть файл

@ -15,7 +15,7 @@ Adds a credential to an existing service principal.
### SpObjectIdWithPasswordParameterSet (Default)
```
New-AzureRmADSpCredential -ObjectId <String> -Password <String> [-StartDate <DateTime>] [-EndDate <DateTime>]
New-AzureRmADSpCredential -ObjectId <String> -Password <SecureString> [-StartDate <DateTime>] [-EndDate <DateTime>]
[-DefaultProfile <IAzureContextContainer>] [-WhatIf] [-Confirm] [<CommonParameters>]
```
@ -33,7 +33,7 @@ New-AzureRmADSpCredential -ServicePrincipalName <String> -CertValue <String> [-S
### SPNWithPasswordParameterSet
```
New-AzureRmADSpCredential -ServicePrincipalName <String> -Password <String> [-StartDate <DateTime>]
New-AzureRmADSpCredential -ServicePrincipalName <String> -Password <SecureString> [-StartDate <DateTime>]
[-EndDate <DateTime>] [-DefaultProfile <IAzureContextContainer>] [-WhatIf] [-Confirm] [<CommonParameters>]
```
@ -45,7 +45,8 @@ The service principal is identified by supplying either the object id or service
### -------------------------- Example 1 --------------------------
```
PS E:\> New-AzureRmADSpCredential -ObjectId 1f99cf81-0146-4f4e-beae-2007d0668476 -Password "P@ssw0rd!"
PS E:\> $SecureStringPassword = ConvertTo-SecureString -String "password" -AsPlainText -Force
PS E:\> New-AzureRmADSpCredential -ObjectId 1f99cf81-0146-4f4e-beae-2007d0668476 -Password $SecureStringPassword
```
A new password credential is added to an existing service principal.
@ -149,7 +150,7 @@ Accept wildcard characters: False
The password to be associated with the application.
```yaml
Type: String
Type: SecureString
Parameter Sets: SpObjectIdWithPasswordParameterSet, SPNWithPasswordParameterSet
Aliases:

Просмотреть файл

@ -14,7 +14,7 @@ Creates a new active directory user.
## SYNTAX
```
New-AzureRmADUser -DisplayName <String> -UserPrincipalName <String> -Password <String> [-ImmutableId <String>]
New-AzureRmADUser -DisplayName <String> -UserPrincipalName <String> -Password <SecureString> [-ImmutableId <String>]
[-ForceChangePasswordNextLogin] [-DefaultProfile <IAzureContextContainer>] [-WhatIf] [-Confirm]
[<CommonParameters>]
```
@ -102,7 +102,7 @@ It must meet the tenant's password complexity requirements.
It is recommended to set a strong password.
```yaml
Type: String
Type: SecureString
Parameter Sets: (All)
Aliases:

Просмотреть файл

@ -15,7 +15,7 @@ Updates an existing active directory user.
```
Set-AzureRmADUser -UPNOrObjectId <String> [-DisplayName <String>] [-EnableAccount <Boolean>]
[-Password <String>] [-ForceChangePasswordNextLogin] [-DefaultProfile <IAzureContextContainer>] [-WhatIf]
[-Password <SecureString>] [-ForceChangePasswordNextLogin] [-DefaultProfile <IAzureContextContainer>] [-WhatIf]
[-Confirm] [<CommonParameters>]
```
@ -104,7 +104,7 @@ It must meet the tenant's password complexity requirements.
It is recommended to set a strong password.
```yaml
Type: String
Type: SecureString
Parameter Sets: (All)
Aliases:

Просмотреть файл

@ -12,7 +12,7 @@
# RootModule = ''
# Version number of this module.
ModuleVersion = '5.0.0'
ModuleVersion = '5.0.1'
# Supported PSEditions
# CompatiblePSEditions = @()
@ -54,7 +54,10 @@ CLRVersion = '4.0'
RequiredModules = @(@{ModuleName = 'AzureRM.Profile'; ModuleVersion = '4.0.0'; })
# Assemblies that must be loaded prior to importing this module
RequiredAssemblies = '.\Microsoft.Azure.Management.SiteRecovery.dll'
RequiredAssemblies = '.\Microsoft.Azure.Commands.RecoveryServices.ARM.dll',
'.\Microsoft.Azure.Management.RecoveryServices.dll',
'.\Microsoft.Azure.Management.SiteRecovery.dll',
'.\Security.Cryptography.dll'
# Script files (.ps1) that are run in the caller's environment prior to importing this module.
# ScriptsToProcess = @()
@ -161,8 +164,7 @@ PrivateData = @{
# IconUri = ''
# ReleaseNotes of this module
ReleaseNotes = '* Add support for online help
- Run Get-Help with the -Online parameter to open the online help in your default Internet browser'
ReleaseNotes = '* Fixed assembly loading issue that caused some cmdlets to fail when executing'
# External dependent modules of this module
# ExternalModuleDependencies = ''

Просмотреть файл

@ -19,6 +19,9 @@
-->
## Current Release
## Version 5.0.1
* Fixed assembly loading issue that caused some cmdlets to fail when executing
## Version 5.0.0
* Add support for online help
- Run Get-Help with the -Online parameter to open the online help in your default Internet browser

Просмотреть файл

@ -43,6 +43,6 @@ using Xunit;
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
[assembly: AssemblyVersion("5.0.0")]
[assembly: AssemblyFileVersion("5.0.0")]
[assembly: AssemblyVersion("5.0.1")]
[assembly: AssemblyFileVersion("5.0.1")]
[assembly: CollectionBehavior(DisableTestParallelization = true)]

Просмотреть файл

@ -42,5 +42,5 @@ using System.Runtime.InteropServices;
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
[assembly: AssemblyVersion("5.0.0")]
[assembly: AssemblyFileVersion("5.0.0")]
[assembly: AssemblyVersion("5.0.1")]
[assembly: AssemblyFileVersion("5.0.1")]

Просмотреть файл

@ -12,7 +12,7 @@
# RootModule = ''
# Version number of this module.
ModuleVersion = '4.0.0'
ModuleVersion = '4.0.1'
# Supported PSEditions
# CompatiblePSEditions = @()
@ -60,7 +60,8 @@ RequiredAssemblies = '.\Microsoft.Azure.Management.Sql.dll',
'.\Microsoft.Data.Edm.dll',
'.\Microsoft.Data.OData.dll',
'.\Microsoft.Data.Services.Client.dll',
'.\Microsoft.WindowsAzure.Storage.dll'
'.\Microsoft.WindowsAzure.Storage.dll',
'.\System.Spatial.dll'
# Script files (.ps1) that are run in the caller's environment prior to importing this module.
# ScriptsToProcess = @()
@ -228,21 +229,7 @@ PrivateData = @{
# IconUri = ''
# ReleaseNotes of this module
ReleaseNotes = '* Adding support for list and cancel the asynchronous updateslo operation on the database
- update existing cmdlet Get-AzureRmSqlDatabaseActivity to return DB updateslo operation status.
- add new cmdlet Stop-AzureRmSqlDatabaseActivity for cancel the asynchronous updateslo operation on the database.
* Adding support for Zone Redundancy for databases and elastic pools
- Adding ZoneRedundant switch parameter to New-AzureRmSqlDatabase
- Adding ZoneRedundant switch parameter to Set-AzureRmSqlDatabase
- Adding ZoneRedundant switch parameter to New-AzureRmSqlElasticPool
- Adding ZoneRedundant switch parameter to Set-AzureRmSqlElasticPool
* Adding support for Server DNS Aliases
- Adding Get-AzureRmSqlServerDnsAlias cmdlet which gets server dns aliases by server and alias name or a list of server dns aliases for an azure Sql Server.
- Adding New-AzureRmSqlServerDnsAlias cmdlet which creates new server dns alias for a given Azure Sql server
- Adding Set-AzurermSqlServerDnsAlias cmlet which allows updating a Azure Sql Server to which server dns alias is pointing
- Adding Remove-AzureRmSqlServerDnsAlias cmdlet which removes a server dns alias for a Azure Sql Server
* Add support for online help
- Run Get-Help with the -Online parameter to open the online help in your default Internet browser'
ReleaseNotes = '* Fixed assembly loading issue that caused some cmdlets to fail when executing'
# External dependent modules of this module
# ExternalModuleDependencies = ''

Просмотреть файл

@ -19,6 +19,9 @@
-->
## Current Release
## Version 4.0.1
* Fixed assembly loading issue that caused some cmdlets to fail when executing
## Version 4.0.0
* Adding support for list and cancel the asynchronous updateslo operation on the database
- update existing cmdlet Get-AzureRmSqlDatabaseActivity to return DB updateslo operation status.

Просмотреть файл

@ -33,6 +33,6 @@ using Xunit;
// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("f6f46134-9c1b-4599-8dd0-789299c076ef")]
[assembly: AssemblyVersion("4.0.0")]
[assembly: AssemblyFileVersion("4.0.0")]
[assembly: AssemblyVersion("4.0.1")]
[assembly: AssemblyFileVersion("4.0.1")]
[assembly: CollectionBehavior(DisableTestParallelization = true)]

Просмотреть файл

@ -44,8 +44,8 @@ using System.Runtime.InteropServices;
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
[assembly: AssemblyVersion("4.0.0")]
[assembly: AssemblyFileVersion("4.0.0")]
[assembly: AssemblyVersion("4.0.1")]
[assembly: AssemblyFileVersion("4.0.1")]
#if SIGN
[assembly: InternalsVisibleTo("Microsoft.Azure.Commands.Resources.Test, PublicKey=0024000004800000940000000602000000240000525341310004000001000100b5fc90e7027f67871e773a8fde8938c81dd402ba65b9201d60593e96c492651e889cc13f1415ebb53fac1131ae0bd333c5ee6021672d9718ea31a8aebd0da0072f25d87dba6fc90ffd598ed4da35e44c398c454307e8e33b8426143daec9f596836f97c8f74750e5975c64e2189f45def46b2a2b1247adc3652bf5c308055da9")]
#else

Просмотреть файл

@ -20,8 +20,8 @@ using System.Runtime.InteropServices;
[assembly: AssemblyTitle("Microsoft Azure SQL Server Management Library")]
[assembly: AssemblyDescription("Provides management functionality for Microsoft Azure SQL.")]
[assembly: AssemblyVersion("4.0.0")]
[assembly: AssemblyFileVersion("4.0.0")]
[assembly: AssemblyVersion("4.0.1")]
[assembly: AssemblyFileVersion("4.0.1")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("Microsoft")]
[assembly: AssemblyProduct("Azure .NET SDK")]

Просмотреть файл

@ -12,7 +12,7 @@
# RootModule = ''
# Version number of this module.
ModuleVersion = '4.0.0'
ModuleVersion = '4.0.1'
# Supported PSEditions
# CompatiblePSEditions = @()
@ -59,7 +59,8 @@ RequiredAssemblies = '.\Microsoft.Azure.Management.Storage.dll',
'.\Microsoft.Data.Edm.dll',
'.\Microsoft.Data.OData.dll',
'.\Microsoft.Data.Services.Client.dll',
'.\Microsoft.WindowsAzure.Storage.dll'
'.\Microsoft.WindowsAzure.Storage.dll',
'.\System.Spatial.dll'
# Script files (.ps1) that are run in the caller's environment prior to importing this module.
# ScriptsToProcess = @()
@ -121,8 +122,7 @@ PrivateData = @{
# IconUri = ''
# ReleaseNotes of this module
ReleaseNotes = '* Add support for online help
- Run Get-Help with the -Online parameter to open the online help in your default Internet browser'
ReleaseNotes = '* Fixed assembly loading issue that caused some cmdlets to fail when executing'
# External dependent modules of this module
# ExternalModuleDependencies = ''

Просмотреть файл

@ -19,6 +19,9 @@
-->
## Current Release
## Version 4.0.1
* Fixed assembly loading issue that caused some cmdlets to fail when executing
## Version 4.0.0
* Add support for online help
- Run Get-Help with the -Online parameter to open the online help in your default Internet browser

Просмотреть файл

@ -47,6 +47,6 @@ using Xunit;
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
[assembly: AssemblyVersion("4.0.0")]
[assembly: AssemblyFileVersion("4.0.0")]
[assembly: AssemblyVersion("4.0.1")]
[assembly: AssemblyFileVersion("4.0.1")]
[assembly: CollectionBehavior(DisableTestParallelization = true)]

Просмотреть файл

@ -46,5 +46,5 @@ using System.Runtime.InteropServices;
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
[assembly: AssemblyVersion("4.0.0")]
[assembly: AssemblyFileVersion("4.0.0")]
[assembly: AssemblyVersion("4.0.1")]
[assembly: AssemblyFileVersion("4.0.1")]

Просмотреть файл

@ -12,7 +12,7 @@
# RootModule = ''
# Version number of this module.
ModuleVersion = '4.0.0'
ModuleVersion = '4.0.1'
# Supported PSEditions
# CompatiblePSEditions = @()
@ -58,7 +58,8 @@ RequiredAssemblies = '.\Microsoft.Azure.Management.StreamAnalytics.dll',
'.\Microsoft.Data.Edm.dll',
'.\Microsoft.Data.OData.dll',
'.\Microsoft.Data.Services.Client.dll',
'.\Microsoft.WindowsAzure.Storage.dll'
'.\Microsoft.WindowsAzure.Storage.dll',
'.\System.Spatial.dll'
# Script files (.ps1) that are run in the caller's environment prior to importing this module.
# ScriptsToProcess = @()
@ -128,8 +129,7 @@ PrivateData = @{
# IconUri = ''
# ReleaseNotes of this module
ReleaseNotes = '* Add support for online help
- Run Get-Help with the -Online parameter to open the online help in your default Internet browser'
ReleaseNotes = '* Fixed assembly loading issue that caused some cmdlets to fail when executing'
# External dependent modules of this module
# ExternalModuleDependencies = ''

Просмотреть файл

@ -19,6 +19,9 @@
-->
## Current Release
## Version 4.0.1
* Fixed assembly loading issue that caused some cmdlets to fail when executing
## Version 4.0.0
* Add support for online help
- Run Get-Help with the -Online parameter to open the online help in your default Internet browser

Просмотреть файл

@ -33,6 +33,6 @@ using Xunit;
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
[assembly: AssemblyVersion("4.0.0")]
[assembly: AssemblyFileVersion("4.0.0")]
[assembly: AssemblyVersion("4.0.1")]
[assembly: AssemblyFileVersion("4.0.1")]
[assembly: CollectionBehavior(DisableTestParallelization = true)]

Просмотреть файл

@ -25,8 +25,8 @@ using System.Runtime.InteropServices;
[assembly: ComVisible(false)]
[assembly: CLSCompliant(false)]
[assembly: Guid("9188beb8-68c3-404a-91e2-6f287f162a52")]
[assembly: AssemblyVersion("4.0.0")]
[assembly: AssemblyFileVersion("4.0.0")]
[assembly: AssemblyVersion("4.0.1")]
[assembly: AssemblyFileVersion("4.0.1")]
#if SIGN
[assembly: InternalsVisibleTo("Microsoft.Azure.Commands.StreamAnalytics.Test, PublicKey=0024000004800000940000000602000000240000525341310004000001000100b5fc90e7027f67871e773a8fde8938c81dd402ba65b9201d60593e96c492651e889cc13f1415ebb53fac1131ae0bd333c5ee6021672d9718ea31a8aebd0da0072f25d87dba6fc90ffd598ed4da35e44c398c454307e8e33b8426143daec9f596836f97c8f74750e5975c64e2189f45def46b2a2b1247adc3652bf5c308055da9")]
#else

Просмотреть файл

@ -24,4 +24,15 @@ if ($PSVersionTable.PSVersion.Major -ge 5)
$locations | Where-Object { $_ -Like "$wordToComplete*" } | ForEach-Object { [System.Management.Automation.CompletionResult]::new($_, $_, 'ParameterValue', $_) }
}
}
$FilteredCommands = %DEFAULTRGCOMMANDS%
$FilteredCommands | ForEach-Object {
$global:PSDefaultParameterValues.Add($_,
{
$context = Get-AzureRmContext
if (($context -ne $null) -and $context.ExtendedProperties.ContainsKey("Default Resource Group")) {
$context.ExtendedProperties["Default Resource Group"]
}
})
}

Просмотреть файл

@ -12,7 +12,7 @@
RootModule = '.\AzureRM.psm1'
# Version number of this module.
ModuleVersion = '5.0.0'
ModuleVersion = '5.0.1'
# Supported PSEditions
# CompatiblePSEditions = @()
@ -55,19 +55,19 @@ RequiredModules = @(@{ModuleName = 'AzureRM.Profile'; RequiredVersion = '4.0.0';
@{ModuleName = 'Azure.Storage'; RequiredVersion = '4.0.0'; },
@{ModuleName = 'AzureRM.AnalysisServices'; RequiredVersion = '0.5.0'; },
@{ModuleName = 'Azure.AnalysisServices'; RequiredVersion = '0.5.0'; },
@{ModuleName = 'AzureRM.ApiManagement'; RequiredVersion = '5.0.0'; },
@{ModuleName = 'AzureRM.ApiManagement'; RequiredVersion = '5.0.1'; },
@{ModuleName = 'AzureRM.ApplicationInsights'; RequiredVersion = '0.1.0'; },
@{ModuleName = 'AzureRM.Automation'; RequiredVersion = '4.0.0'; },
@{ModuleName = 'AzureRM.Backup'; RequiredVersion = '4.0.0'; },
@{ModuleName = 'AzureRM.Batch'; RequiredVersion = '4.0.0'; },
@{ModuleName = 'AzureRM.Backup'; RequiredVersion = '4.0.1'; },
@{ModuleName = 'AzureRM.Batch'; RequiredVersion = '4.0.1'; },
@{ModuleName = 'AzureRM.Billing'; RequiredVersion = '0.14.0'; },
@{ModuleName = 'AzureRM.Cdn'; RequiredVersion = '4.0.0'; },
@{ModuleName = 'AzureRM.CognitiveServices'; RequiredVersion = '0.9.0'; },
@{ModuleName = 'AzureRM.Compute'; RequiredVersion = '4.0.0'; },
@{ModuleName = 'AzureRM.Compute'; RequiredVersion = '4.0.1'; },
@{ModuleName = 'AzureRM.Consumption'; RequiredVersion = '0.3.0'; },
@{ModuleName = 'AzureRM.ContainerInstance'; RequiredVersion = '0.1.0'; },
@{ModuleName = 'AzureRM.ContainerRegistry'; RequiredVersion = '0.3.0'; },
@{ModuleName = 'AzureRM.DataFactories'; RequiredVersion = '4.0.0'; },
@{ModuleName = 'AzureRM.DataFactories'; RequiredVersion = '4.0.1'; },
@{ModuleName = 'AzureRM.DataFactoryV2'; RequiredVersion = '0.3.0'; },
@{ModuleName = 'AzureRM.DataLakeAnalytics'; RequiredVersion = '4.0.0'; },
@{ModuleName = 'AzureRM.DataLakeStore'; RequiredVersion = '5.0.0'; },
@ -75,10 +75,10 @@ RequiredModules = @(@{ModuleName = 'AzureRM.Profile'; RequiredVersion = '4.0.0';
@{ModuleName = 'AzureRM.Dns'; RequiredVersion = '4.0.0'; },
@{ModuleName = 'AzureRM.EventGrid'; RequiredVersion = '0.2.0'; },
@{ModuleName = 'AzureRM.EventHub'; RequiredVersion = '0.5.0'; },
@{ModuleName = 'AzureRM.HDInsight'; RequiredVersion = '4.0.0'; },
@{ModuleName = 'AzureRM.HDInsight'; RequiredVersion = '4.0.1'; },
@{ModuleName = 'AzureRM.Insights'; RequiredVersion = '4.0.0'; },
@{ModuleName = 'AzureRM.IoTHub'; RequiredVersion = '3.0.0'; },
@{ModuleName = 'AzureRM.KeyVault'; RequiredVersion = '4.0.0'; },
@{ModuleName = 'AzureRM.KeyVault'; RequiredVersion = '4.0.1'; },
@{ModuleName = 'AzureRM.LogicApp'; RequiredVersion = '4.0.0'; },
@{ModuleName = 'AzureRM.MachineLearning'; RequiredVersion = '0.16.0'; },
@{ModuleName = 'AzureRM.MachineLearningCompute'; RequiredVersion = '0.2.0'; },
@ -88,20 +88,20 @@ RequiredModules = @(@{ModuleName = 'AzureRM.Profile'; RequiredVersion = '4.0.0';
@{ModuleName = 'AzureRM.NotificationHubs'; RequiredVersion = '4.0.0'; },
@{ModuleName = 'AzureRM.OperationalInsights'; RequiredVersion = '4.0.0'; },
@{ModuleName = 'AzureRM.PowerBIEmbedded'; RequiredVersion = '4.0.0'; },
@{ModuleName = 'AzureRM.RecoveryServices'; RequiredVersion = '4.0.0'; },
@{ModuleName = 'AzureRM.RecoveryServices.Backup'; RequiredVersion = '4.0.0'; },
@{ModuleName = 'AzureRM.RecoveryServices.SiteRecovery'; RequiredVersion = '0.2.0'; },
@{ModuleName = 'AzureRM.RedisCache'; RequiredVersion = '4.0.0'; },
@{ModuleName = 'AzureRM.RecoveryServices'; RequiredVersion = '4.0.1'; },
@{ModuleName = 'AzureRM.RecoveryServices.Backup'; RequiredVersion = '4.0.1'; },
@{ModuleName = 'AzureRM.RecoveryServices.SiteRecovery'; RequiredVersion = '0.2.1'; },
@{ModuleName = 'AzureRM.RedisCache'; RequiredVersion = '4.0.1'; },
@{ModuleName = 'AzureRM.Relay'; RequiredVersion = '0.3.0'; },
@{ModuleName = 'AzureRM.Resources'; RequiredVersion = '5.0.0'; },
@{ModuleName = 'AzureRM.Scheduler'; RequiredVersion = '0.16.0'; },
@{ModuleName = 'AzureRM.ServerManagement'; RequiredVersion = '4.0.0'; },
@{ModuleName = 'AzureRM.ServiceBus'; RequiredVersion = '0.5.0'; },
@{ModuleName = 'AzureRM.ServiceFabric'; RequiredVersion = '0.3.0'; },
@{ModuleName = 'AzureRM.SiteRecovery'; RequiredVersion = '5.0.0'; },
@{ModuleName = 'AzureRM.Sql'; RequiredVersion = '4.0.0'; },
@{ModuleName = 'AzureRM.Storage'; RequiredVersion = '4.0.0'; },
@{ModuleName = 'AzureRM.StreamAnalytics'; RequiredVersion = '4.0.0'; },
@{ModuleName = 'AzureRM.SiteRecovery'; RequiredVersion = '5.0.1'; },
@{ModuleName = 'AzureRM.Sql'; RequiredVersion = '4.0.1'; },
@{ModuleName = 'AzureRM.Storage'; RequiredVersion = '4.0.1'; },
@{ModuleName = 'AzureRM.StreamAnalytics'; RequiredVersion = '4.0.1'; },
@{ModuleName = 'AzureRM.Tags'; RequiredVersion = '4.0.0'; },
@{ModuleName = 'AzureRM.TrafficManager'; RequiredVersion = '4.0.0'; },
@{ModuleName = 'AzureRM.UsageAggregates'; RequiredVersion = '4.0.0'; },
@ -161,121 +161,23 @@ PrivateData = @{
# IconUri = ''
# ReleaseNotes of this module
ReleaseNotes = '## 2017.11.8 - Version 5.0.0
* NOTE: This is a breaking change release. Please see the migration guide (https://aka.ms/azps-migration-guide) for a full list of breaking changes introduced.
* All cmdlets in AzureRM now support online help
- Run Get-Help with the -Online parameter to open the online help in your default Internet browser
* AnalysisServices
* Fixed Synchronize-AzureAsInstance command to work with new AsAzure REST API for sync
* ApiManagement
* Please see the migration guide for breaking changes made to ApiManagement this release
* Updated Get-AzureRmApiManagementUser to fix issue https://github.com/Azure/azure-powershell/issues/4510
* Updated New-AzureRmApiManagementApi to create Api with Empty Path https://github.com/Azure/azure-powershell/issues/4069
* ApplicationInsights
* Add commands to get/create/remove applicaiton insights resource
- Get/New/Remove-AzureRmApplicationInsights
* Add commands to get/update pricing/daily cap of applicaiton insights resource
- Get-AzureRmApplicationInsights -IncludeDailyCap
- Set-AzureRmApplicationInsightsPricingPlan
- Set-AzureRmApplicationInsightsDailyCap
* Add commands to get/create/remove/update continuous export of applicaiton insights resource
- Get/New/Remove/Set-AzureRmApplicationInsightsContinuousExport
* Add commands to get/create/remove api keys of applicaiton insights resoruce
- Get/New/Remove-AzureRmApplicationInsightsApiKey
* AzureBatch
* Please see the migration guide for breaking changes made to Batch this release
* Please see the Batch change log for a full list of changes made this release
* Added support for Azure Active Directory based authentication.
- To use Azure Active Directory authentication, retrieve a `BatchAccountContext` object using the `Get-AzureRmBatchAccount` cmdlet, and supply this `BatchAccountContext` to the `-BatchContext` parameter of a Batch service cmdlet. Azure Active Directory authentication is mandatory for accounts with `PoolAllocationMode = UserSubscription`.
- For existing accounts or for new accounts created with `PoolAllocationMode = BatchService`, you may continue to use shared key authentication by retrieving a `BatchAccountContext` object using the `Get-AzureRmBatchAccoutKeys` cmdlet.
* Compute
* Azure Disk Encryption Extension Commands
- New Parameter for ''Set-AzureRmVmDiskEncryptionExtension'': ''-EncryptFormatAll'' encrypt formats data disks
- New Parameters for ''Set-AzureRmVmDiskEncryptionExtension'': ''-ExtensionPublisherName'' and ''-ExtensionType'' allow switching to other versions of the extension
- New Parameters for ''Disable-AzureRmVmDiskEncryption'': ''-ExtensionPublisherName'' and ''-ExtensionType'' allow switching to other versions of the extension
- New Parameters for ''Get-AzureRmVmDiskEncryptionStatus'': ''-ExtensionPublisherName'' and ''-ExtensionType'' allow switching to other versions of the extension
* DataLakeAnalytics
* Please see the migration guide for breaking changes made to DataLakeAnalytics this release
* Changed one of the two OutputTypes of Get-AzureRmDataLakeAnalyticsAccount
- List<DataLakeAnalyticsAccount> to List<PSDataLakeAnalyticsAccountBasic>
* Changed one of the two OutputTypes of Get-AzureRmDataLakeAnalyticsJob
- List<JobInformation> to List<PSJobInformationBasic>
* DataLakeStore
* Please see the migration guide for breaking changes made to DataLakeStore this release
* Changed one of the two OutputTypes of Get-AzureRmDataLakeStoreAccount
- List<PSDataLakeStoreAccount> to List<PSDataLakeStoreAccountBasic>
* Dns
* Support for CAA record types in Azure DNS
- Supports all operations on CAA record type
* EventHub
* Please see the migration guide for breaking changes made to EventHub this release
* Insights
* Please see the migration guide for breaking changes made to Insights this release
* Network
* Please see the migration guide for breaking changes made to Network this release
* Added cmdlet to list available internet service providers for a specified Azure region
- Get-AzureRmNetworkWatcherReachabilityProvidersList
* Added cmdlet to get the relative latency score for internet service providers from a specified location to Azure regions
- Get-AzureRmNetworkWatcherReachabilityReport
* Profile
- Set-AzureRmDefault
- Use this cmdlet to set a default resource group. This will make the -ResourceGroup parameter optional for some cmdlets, and will use the default when a resource group is not specified
- ```Set-AzureRmDefault -ResourceGroupName "ExampleResourceGroup"```
- If resource group specified exists in the subscription, this resource group will be set to default. Otherwise, the resource group will be created and then set to default.
- Get-AzureRmDefault
- Use this cmdlet to get the current default resource group (and other defaults in the future).
- ```Get-AzureRmDefault -ResourceGroup```
- Clear-AzureRmDefault
- Use this cmdlet to remove the current default resource group
- ```Clear-AzureRmDefault -ResourceGroup```
- Add-AzureRmEnvironment and Set-AzureRmEnvironment
- Add the BatchAudience parameter, which allows you to specify the Azure Batch Active Directory audience to use when acquiring authentication tokens for the Batch service.
* RecoveryServices.Backup
* Added cmdlets to perform instant file recovery.
- Get-AzureRmRecoveryServicesBackupRPMountScript
- Disable-AzureRmRecoveryServicesBackupRPMountScript
* Updated RecoveryServices.Backup SDK version to the latest
* Updated tests for the Azure VM workload so that, all setups needed for test runs are done by the tests themselves.
* Fixes https://github.com/Azure/azure-powershell/issues/3164
* RecoveryServices.SiteRecovery
* Changes for ASR VMware to Azure Site Recovery (cmdlets are currently supporting operations for Enterprise to Enterprise, Enterprise to Azure, HyperV to Azure)
- New-AzureRmRecoveryServicesAsrPolicy
- New-AzureRmRecoveryServicesAsrProtectedItem
- Update-AzureRmRecoveryServicesAsrPolicy
- Update-AzureRmRecoveryServicesAsrProtectionDirection
* Added support to AAD-based vault
* Added cmdlets to manage VCenter resources
- Get-AzureRmRecoveryServicesAsrVCenter
- New-AzureRmRecoveryServicesAsrVCenter
- Remove-AzureRmRecoveryServicesAsrVCenter
- Update-AzureRmRecoveryServicesAsrVCenter
* Added other cmdlets
- Get-AzureRmRecoveryServicesAsrAlertSetting
- Get-AzureRmRecoveryServicesAsrEvent
- New-AzureRmRecoveryServicesAsrProtectableItem
- Set-AzureRmRecoveryServicesAsrAlertSetting
- Start-AzureRmRecoveryServicesAsrResynchronizeReplicationJob
- Start-AzureRmRecoveryServicesAsrSwitchProcessServerJob
- Start-AzureRmRecoveryServicesAsrTestFailoverCleanupJob
- Update-AzureRmRecoveryServicesAsrMobilityService
* ServiceBus
* Please see the migration guide for changes made to ServiceBus this release.
* Sql
* Adding support for list and cancel the asynchronous updateslo operation on the database
- update existing cmdlet Get-AzureRmSqlDatabaseActivity to return DB updateslo operation status.
- add new cmdlet Stop-AzureRmSqlDatabaseActivity for cancel the asynchronous updateslo operation on the database.
* Adding support for Zone Redundancy for databases and elastic pools
- Adding ZoneRedundant switch parameter to New-AzureRmSqlDatabase, Set-AzureRmSqlDatabase, New-AzureRmSqlElasticPool, Set-AzureRmSqlElasticPool
* Adding support for Server DNS Aliases
- Get-AzureRmSqlServerDnsAlias: gets server dns aliases by server and alias name or a list of server dns aliases for an azure Sql Server.
- New-AzureRmSqlServerDnsAlias: creates new server dns alias for a given Azure Sql server
- Set-AzurermSqlServerDnsAlias: allows updating a Azure Sql Server to which server dns alias is pointing
- Remove-AzureRmSqlServerDnsAlias: removes a server dns alias for a Azure Sql Server
* Azure.Storage
* Upgrade to Azure Storage Client Library 8.5.0 and Azure Storage DataMovement Library 0.6.3
* Add File Share Snapshot Support Feature
- Add ''SnapshotTime'' parameter to Get-AzureStorageShare
- Add ''IncludeAllSnapshot'' parameter to Remove-AzureStorageShare'
ReleaseNotes = '## 2017.11.10 - Version 5.0.1
* Fixed assembly loading issue that caused some cmdlets to fail when executing in the following modules:
- AzureRM.ApiManagement
- AzureRM.Backup
- AzureRM.Batch
- AzureRM.Compute
- AzureRM.DataFactories
- AzureRM.HDInsight
- AzureRM.KeyVault
- AzureRM.RecoveryServices
- AzureRM.RecoveryServices.Backup
- AzureRM.RecoveryServices.SiteRecovery
- AzureRM.RedisCache
- AzureRM.SiteRecovery
- AzureRM.Sql
- AzureRM.Storage
- AzureRM.StreamAnalytics'
# External dependent modules of this module
# ExternalModuleDependencies = ''

Просмотреть файл

@ -51,7 +51,7 @@ Copyright = '(c) 2016 ShahAbhijeet. All rights reserved.'
# ProcessorArchitecture = ''
# Modules that must be imported into the global environment prior to importing this module
# RequiredModules = @()
RequiredModules = @(@{ModuleName = 'AzureRM.Resources'; ModuleVersion = '5.0.0'; })
# Assemblies that must be loaded prior to importing this module
# RequiredAssemblies = @()
@ -69,7 +69,7 @@ Copyright = '(c) 2016 ShahAbhijeet. All rights reserved.'
# NestedModules = @()
# Functions to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no functions to export.
FunctionsToExport = 'Set-TestEnvironment', 'Remove-ServicePrincipal', 'New-ServicePrincipal', 'Set-SPNRole'
FunctionsToExport = 'Set-TestEnvironment', 'Remove-ServicePrincipal', 'New-ServicePrincipal', 'Set-SPNRole', 'New-TestCredential'
# Cmdlets to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no cmdlets to export.
CmdletsToExport = @()

Просмотреть файл

@ -1,4 +1,187 @@
[CmdletBinding]
Function New-TestCredential
{
[CmdletBinding(
DefaultParameterSetName='SpnParamSet',
SupportsShouldProcess=$true
)]
param(
[Parameter(ParameterSetName='SpnParamSet', Mandatory=$true, HelpMessage='ServicePrincipal/ClientId you would like to use')]
[ValidateNotNullOrEmpty()]
[string]$ServicePrincipalDisplayName,
[Parameter(ParameterSetName='SpnParamSet', Mandatory=$true, HelpMessage='ServicePrincipal Secret/ClientId Secret you would like to use')]
[ValidateNotNullOrEmpty()]
[securestring]$ServicePrincipalSecret,
[Parameter(ParameterSetName='UserIdParamSet', Mandatory=$true, HelpMessage = "UserId (OrgId) you would like to use")]
[ValidateNotNullOrEmpty()]
[string]$UserId,
[Parameter(ParameterSetName='CreateSpnParamSet', Mandatory=$true, HelpMessage = "SubscriptionId you would like to use")]
[Parameter(ParameterSetName='SpnParamSet', Mandatory=$true, HelpMessage = "SubscriptionId you would like to use")]
[Parameter(ParameterSetName='UserIdParamSet', Mandatory=$true, HelpMessage = "SubscriptionId you would like to use")]
[ValidateNotNullOrEmpty()]
[string]$SubscriptionId,
[Parameter(ParameterSetName='CreateSpnParamSet', Mandatory=$true, HelpMessage='AADTenant/TenantId you would like to use')]
[Parameter(ParameterSetName='SpnParamSet', Mandatory=$true, HelpMessage='AADTenant/TenantId you would like to use')]
[ValidateNotNullOrEmpty()]
[string]$TenantId,
[Parameter(ParameterSetName='CreateSpnParamSet', Mandatory=$true, HelpMessage = "SubscriptionId you would like to use")]
[Parameter(ParameterSetName='SpnParamSet', Mandatory=$true, HelpMessage = "Record tests, Playback tests, or neither")]
[Parameter(ParameterSetName='UserIdParamSet', Mandatory=$true, HelpMessage = "Record tests, Playback tests, or neither")]
[ValidateSet("Playback", "Record", "None")]
[string]$RecordMode,
[Parameter(Mandatory=$false, HelpMessage="Environment you would like to run in")]
[ValidateSet("Prod", "Dogfood", "Current", "Next", "Custom")]
[string]$TargetEnvironment='Prod',
[Parameter(Mandatory=$false)]
[string]$ResourceManagementUri,
[Parameter(Mandatory=$false)]
[string]$GraphUri,
[Parameter(Mandatory=$false)]
[string]$AADAuthUri,
[Parameter(Mandatory=$false)]
[string]$AADTokenAudienceUri,
[Parameter(Mandatory=$false)]
[string]$GraphTokenAudienceUri,
[Parameter(Mandatory=$false)]
[string]$IbizaPortalUri,
[Parameter(Mandatory=$false)]
[string]$ServiceManagementUri,
[Parameter(Mandatory=$false)]
[string]$RdfePortalUri,
[Parameter(Mandatory=$false)]
[string]$GalleryUri,
[Parameter(Mandatory=$false)]
[string]$DataLakeStoreServiceUri,
[Parameter(Mandatory=$false)]
[string]$DataLakeAnalyticsJobAndCatalogServiceUri,
[Parameter(Mandatory=$false)]
[switch]$Force
)
[hashtable]$credentials = @{}
$credentials.SubscriptionId = $SubscriptionId
$credentials.HttpRecorderMode = $RecordMode
$credentials.Environment = $TargetEnvironment
if ([string]::IsNullOrEmpty($ServicePrincipalDisplayName) -eq $false) {
$existingServicePrincipal = Get-AzureRmADServicePrincipal -SearchString $ServicePrincipalDisplayName | Where-Object {$_.DisplayName -eq $ServicePrincipalDisplayName}
if ($existingServicePrincipal -eq $null -and ($Force -or $PSCmdlet.ShouldContinue("ServicePrincipal `"" + $ServicePrincipalDisplayName + "`" does not exist, would you like to create a new ServicePrincipal with this name?", "Create ServicePrincipal?")))
{
if ($TargetEnvironment -ne 'Prod')
{
throw "To create a new Service Principal you must be in Prod. Please run again with `$TargetEnvironment set to 'Prod'"
}
$Scope = "/subscriptions/" + $SubscriptionId
$NewServicePrincipal = New-AzureRMADServicePrincipal -DisplayName $ServicePrincipalDisplayName -Password $ServicePrincipalSecret
Write-Host "New ServicePrincipal created: " + $NewServicePrincipal.ApplicationId
$NewRole = $null
$Retries = 0;
While ($NewRole -eq $null -and $Retries -le 6)
{
# Sleep here for a few seconds to allow the service principal application to become active (should only take a couple of seconds normally)
Start-Sleep 5
New-AzureRMRoleAssignment -RoleDefinitionName Contributor -ServicePrincipalName $NewServicePrincipal.ApplicationId -Scope $Scope | Write-Verbose -ErrorAction SilentlyContinue
$NewRole = Get-AzureRMRoleAssignment -ObjectId $NewServicePrincipal.Id -ErrorAction SilentlyContinue
$Retries++;
}
$credentials.ServicePrincipal = $NewServicePrincipal.ApplicationId
$BSTR = [System.Runtime.InteropServices.Marshal]::SecureStringToBSTR($ServicePrincipalSecret)
$UnsecurePassword = [System.Runtime.InteropServices.Marshal]::PtrToStringAuto($BSTR)
$credentials.ServicePrincipalSecret = $UnsecurePassword
}
else
{
$credentials.ServicePrincipal = $existingServicePrincipal.ApplicationId
$BSTR = [System.Runtime.InteropServices.Marshal]::SecureStringToBSTR($ServicePrincipalSecret)
$UnsecurePassword = [System.Runtime.InteropServices.Marshal]::PtrToStringAuto($BSTR)
$credentials.ServicePrincipalSecret = $UnsecurePassword
}
}
if ([string]::IsNullOrEmpty($UserId) -eq $false) {
$credentials.UserId = $UserId
}
if ([string]::IsNullOrEmpty($TenantId) -eq $false) {
$credentials.TenantId = $TenantId
}
if ([string]::IsNullOrEmpty($ResourceManagementUri) -eq $false) {
$credentials.ResourceManagementUri = $ResourceManagementUri
}
if ([string]::IsNullOrEmpty($GraphUri) -eq $false) {
$credentials.GraphUri = $GraphUri
}
if ([string]::IsNullOrEmpty($AADAuthUri) -eq $false) {
$credentials.AADAuthUri = $AADAuthUri
}
if ([string]::IsNullOrEmpty($AADTokenAudienceUri) -eq $false) {
$credentials.AADTokenAudienceUri = $AADTokenAudienceUri
}
if ([string]::IsNullOrEmpty($GraphTokenAudienceUri) -eq $false) {
$credentials.GraphTokenAudienceUri = $GraphTokenAudienceUri
}
if ([string]::IsNullOrEmpty($IbizaPortalUri) -eq $false) {
$credentials.IbizaPortalUri = $IbizaPortalUri
}
if ([string]::IsNullOrEmpty($ServiceManagementUri) -eq $false) {
$credentials.ServiceManagementUri = $ServiceManagementUri
}
if ([string]::IsNullOrEmpty($RdfePortalUri) -eq $false) {
$credentials.RdfePortalUri = $RdfePortalUri
}
if ([string]::IsNullOrEmpty($GalleryUri) -eq $false) {
$credentials.GalleryUri = $GalleryUri
}
if ([string]::IsNullOrEmpty($DataLakeStoreServiceUri) -eq $false) {
$credentials.DataLakeStoreServiceUri = $DataLakeStoreServiceUri
}
if ([string]::IsNullOrEmpty($DataLakeAnalyticsJobAndCatalogServiceUri) -eq $false) {
$credentials.DataLakeAnalyticsJobAndCatalogServiceUri = $DataLakeAnalyticsJobAndCatalogServiceUri
}
$credentialsJson = $credentials | ConvertTo-Json
$directoryPath = $Env:USERPROFILE + "\.azure"
if (!(Test-Path $directoryPath) -and ($Force -or $PSCmdlet.ShouldContinue("Do you want to create directory: " + $directoryPath + " which will contain your credentials file?", "Create directory?"))) {
New-Item -ItemType Directory -Path $directoryPath
}
$filePath = $Env:USERPROFILE + "\.azure\testcredentials.json"
$credentialsJson | Out-File $filePath
Write-Host ""
Write-Host "Created credential file:" $filePath
}
Function Set-TestEnvironment
{
<#
@ -14,19 +197,15 @@ This cmdlet will only prompt you for Subscription and Tenant information, rest a
[ValidateNotNullOrEmpty()]
[string]$UserId,
[Parameter(ParameterSetName='UserIdParamSet', Mandatory=$true, HelpMessage = "UserId (OrgId) you would like to use")]
[ValidateNotNullOrEmpty()]
[string]$Password,
[Parameter(ParameterSetName='SpnParamSet', Mandatory=$true, HelpMessage='ServicePrincipal/ClientId you would like to use')]
[ValidateNotNullOrEmpty()]
[string]$ServicePrincipal,
[string]$ServicePrincipalId,
[Parameter(ParameterSetName='SpnParamSet', Mandatory=$true, HelpMessage='ServicePrincipal Secret/ClientId Secret you would like to use')]
[ValidateNotNullOrEmpty()]
[string]$ServicePrincipalSecret,
[Parameter(ParameterSetName='SpnParamSet', Mandatory=$true)]
[Parameter(ParameterSetName='SpnParamSet', Mandatory=$true, HelpMessage = "SubscriptionId you would like to use")]
[Parameter(ParameterSetName='UserIdParamSet', Mandatory=$true, HelpMessage = "SubscriptionId you would like to use")]
[ValidateNotNullOrEmpty()]
[string]$SubscriptionId,
@ -35,14 +214,26 @@ This cmdlet will only prompt you for Subscription and Tenant information, rest a
[ValidateNotNullOrEmpty()]
[string]$TenantId,
[Parameter(ParameterSetName='SpnParamSet', Mandatory=$true, HelpMessage = "Would you like to record or playback your tests?")]
[Parameter(ParameterSetName='UserIdParamSet', Mandatory=$true, HelpMessage = "Would you like to record or playback your tests?")]
[ValidateSet("Playback", "Record", "None")]
[string]$RecordMode='Playback',
[ValidateSet("Prod", "Dogfood", "Current", "Next")]
[string]$TargetEnvironment='Prod'
)
[string]$TargetEnvironment='Prod',
[string]$uris="https://management.azure.com/"
[string]$ResourceManagementUri,
[string]$GraphUri,
[string]$AADAuthUri,
[string]$AADTokenAudienceUri,
[string]$GraphTokenAudienceUri,
[string]$IbizaPortalUri,
[string]$ServiceManagementUri,
[string]$RdfePortalUri,
[string]$GalleryUri,
[string]$DataLakeStoreServiceUri,
[string]$DataLakeAnalyticsJobAndCatalogServiceUri
)
$formattedConnStr = [string]::Format("SubscriptionId={0};HttpRecorderMode={1};Environment={2}", $SubscriptionId, $RecordMode, $TargetEnvironment)
@ -51,33 +242,83 @@ This cmdlet will only prompt you for Subscription and Tenant information, rest a
$formattedConnStr = [string]::Format([string]::Concat($formattedConnStr, ";UserId={0}"), $UserId)
}
if([string]::IsNullOrEmpty($Password) -eq $false)
{
$formattedConnStr = [string]::Format([string]::Concat($formattedConnStr, ";Password={0}"), $Password)
}
if([string]::IsNullOrEmpty($TenantId) -eq $false)
{
$formattedConnStr = [string]::Format([string]::Concat($formattedConnStr, ";AADTenant={0}"), $TenantId)
}
if([string]::IsNullOrEmpty($ServicePrincipal) -eq $false)
if([string]::IsNullOrEmpty($ServicePrincipalId) -eq $false)
{
$formattedConnStr = [string]::Format([string]::Concat($formattedConnStr, ";ServicePrincipal={0}"), $ServicePrincipal)
$formattedConnStr = [string]::Format([string]::Concat($formattedConnStr, ";ServicePrincipal={0}"), $ServicePrincipalId)
}
if([string]::IsNullOrEmpty($ServicePrincipalSecret) -eq $false)
{
$formattedConnStr = [string]::Format([string]::Concat($formattedConnStr, ";ServicePrincipalSecret={0}"), $ServicePrincipalSecret)
}
$formattedConnStr = [string]::Format([string]::Concat($formattedConnStr, ";BaseUri={0}"), $uris)
#Uris
if([string]::IsNullOrEmpty($ResourceManagementUri) -eq $false)
{
$formattedConnStr = [string]::Format([string]::Concat($formattedConnStr, ";ResourceManagementUri={0}"), $ResourceManagementUri)
}
if([string]::IsNullOrEmpty($GraphUri) -eq $false)
{
$formattedConnStr = [string]::Format([string]::Concat($formattedConnStr, ";GraphUri={0}"), $GraphUri)
}
if([string]::IsNullOrEmpty($AADAuthUri) -eq $false)
{
$formattedConnStr = [string]::Format([string]::Concat($formattedConnStr, ";AADAuthUri={0}"), $AADAuthUri)
}
if([string]::IsNullOrEmpty($AADTokenAudienceUri) -eq $false)
{
$formattedConnStr = [string]::Format([string]::Concat($formattedConnStr, ";AADTokenAudienceUri={0}"), $AADTokenAudienceUri)
}
if([string]::IsNullOrEmpty($GraphTokenAudienceUri) -eq $false)
{
$formattedConnStr = [string]::Format([string]::Concat($formattedConnStr, ";GraphTokenAudienceUri={0}"), $GraphTokenAudienceUri)
}
if([string]::IsNullOrEmpty($IbizaPortalUri) -eq $false)
{
$formattedConnStr = [string]::Format([string]::Concat($formattedConnStr, ";IbizaPortalUri={0}"), $IbizaPortalUri)
}
if([string]::IsNullOrEmpty($ServiceManagementUri) -eq $false)
{
$formattedConnStr = [string]::Format([string]::Concat($formattedConnStr, ";ServiceManagementUri={0}"), $ServiceManagementUri)
}
if([string]::IsNullOrEmpty($RdfePortalUri) -eq $false)
{
$formattedConnStr = [string]::Format([string]::Concat($formattedConnStr, ";RdfePortalUri={0}"), $RdfePortalUri)
}
if([string]::IsNullOrEmpty($GalleryUri) -eq $false)
{
$formattedConnStr = [string]::Format([string]::Concat($formattedConnStr, ";GalleryUri={0}"), $GalleryUri)
}
if([string]::IsNullOrEmpty($DataLakeStoreServiceUri) -eq $false)
{
$formattedConnStr = [string]::Format([string]::Concat($formattedConnStr, ";DataLakeStoreServiceUri={0}"), $DataLakeStoreServiceUri)
}
if([string]::IsNullOrEmpty($DataLakeAnalyticsJobAndCatalogServiceUri) -eq $false)
{
$formattedConnStr = [string]::Format([string]::Concat($formattedConnStr, ";DataLakeAnalyticsJobAndCatalogServiceUri={0}"), $DataLakeAnalyticsJobAndCatalogServiceUri)
}
Write-Host "Below connection string is ready to be set"
Print-ConnectionString $UserId $Password $SubscriptionId $TenantId $ServicePrincipal $ServicePrincipalSecret $RecordMode $TargetEnvironment $uris
Print-ConnectionString $UserId $SubscriptionId $TenantId $ServicePrincipal $ServicePrincipalSecret $RecordMode $TargetEnvironment
#Set connection string to Environment variable
$env:TEST_CSM_ORGID_AUTHENTICATION=$formattedConnStr
$env:AZURE_TEST_MODE=$RecordMode
Write-Host ""
# Retrieve the environment variable
@ -90,7 +331,7 @@ This cmdlet will only prompt you for Subscription and Tenant information, rest a
Write-Host "Please visit https://github.com/Azure/azure-powershell/blob/dev/documentation/Using-Azure-TestFramework.md" -ForegroundColor Yellow
}
Function Print-ConnectionString([string]$uid, [string]$pwd, [string]$subId, [string]$aadTenant, [string]$spn, [string]$spnSecret, [string]$recordMode, [string]$targetEnvironment, [string]$uris)
Function Print-ConnectionString([string]$uid, [string]$subId, [string]$aadTenant, [string]$spn, [string]$spnSecret, [string]$recordMode, [string]$targetEnvironment)
{
if([string]::IsNullOrEmpty($uid) -eq $false)
@ -99,12 +340,6 @@ Function Print-ConnectionString([string]$uid, [string]$pwd, [string]$subId, [str
Write-Host $uid";" -NoNewline
}
if([string]::IsNullOrEmpty($pwd) -eq $false)
{
Write-Host "Password=" -ForegroundColor Green -NoNewline
Write-Host $pwd";" -NoNewline
}
if([string]::IsNullOrEmpty($subId) -eq $false)
{
Write-Host "SubscriptionId=" -ForegroundColor Green -NoNewline
@ -141,13 +376,8 @@ Function Print-ConnectionString([string]$uid, [string]$pwd, [string]$subId, [str
Write-Host $targetEnvironment";" -NoNewline
}
if([string]::IsNullOrEmpty($uris) -eq $false)
{
Write-Host "BaseUri=" -ForegroundColor Green -NoNewline
Write-Host $uris -NoNewline
}
Write-Host ""
}
export-modulemember -Function Set-TestEnvironment
export-modulemember -Function New-TestCredential

Просмотреть файл

@ -8,3 +8,254 @@
Set-SPNRole -ADAppDisplayName "MyModTestApp1" -SubscriptionId 2c224e7e-3ef5-431d-a57b-e71f4662e3a6
Remove-ServicePrincipal -ADAppDisplayName "MyModTestApp1" -SubscriptionId 2c224e7e-3ef5-431d-a57b-e71f4662e3a6 -TenantId 72f988bf-86f1-41af-91ab-2d7cd011db47
}
Function Test-NewCredentialNewServicePrincipal
{
Import-Module $PSScriptRoot\..\TestFx-Tasks.psd1
# Test that Service Principal is correctly created
$context = Get-AzureRmContext
$secureSecret = ConvertTo-SecureString -String "testpassword" -AsPlainText -Force
New-TestCredential -ServicePrincipalDisplayName "credentialtestserviceprincipal" -ServicePrincipalSecret $secureSecret -SubscriptionId $context.Subscription.Id -TenantId $context.Tenant.Id -RecordMode "Record" -Force
$servicePrincipal = Get-AzureRmADServicePrincipal -SearchString credentialtestserviceprincipal | where { $_.DisplayName -eq "credentialtestserviceprincipal" }
if ($servicePrincipal -eq $null)
{
throw "ServicePrincipal not properly created."
}
# Test that connection string is properly set
$filePath = Join-Path -Path $PSScriptRoot -ChildPath "\..\..\..\src\ResourceManager\Common\Commands.ScenarioTests.ResourceManager.Common\bin\Debug\Microsoft.Azure.Commands.ScenarioTest.Common.dll"
$assembly = [System.Reflection.Assembly]::LoadFrom($filePath)
$envHelper = New-Object Microsoft.WindowsAzure.Commands.ScenarioTest.EnvironmentSetupHelper -ArgumentList @()
$envHelper.SetEnvironmentVariableFromCredentialFile()
if (($Env:AZURE_TEST_MODE -ne "Record") -or ($Env:TEST_CSM_ORGID_AUTHENTICATION -ne
"SubscriptionId=" + $context.Subscription.Id + ";HttpRecorderMode=Record;Environment=Prod;ServicePrincipal=" + $servicePrincipal.ApplicationId + ";ServicePrincipalSecret=testpassword;" +
"AADTenant=" + $context.Tenant.Id))
{
throw "ConnectionString not set correctly: " + $Env:TEST_CSM_ORGID_AUTHENTICATION + ", expected: " + "SubscriptionId=" + $context.Subscription.Id +
";HttpRecorderMode=Record;Environment=Prod;ServicePrincipal=" + $servicePrincipal.ApplicationId + ";ServicePrincipalSecret=testpassword;" + "AADTenant=" + $context.Tenant.Id
}
# Test that TestEnviroment is set-up properly
$synch = New-Object System.Threading.SynchronizationContext -ArgumentList @()
[System.Threading.SynchronizationContext]::SetSynchronizationContext($synch)
$envHelper.SetupAzureEnvironmentFromEnvironmentVariables("AzureResourceManager")
$filePath = Join-Path -Path $PSScriptRoot -ChildPath "\..\..\..\src\Common\Commands.Common.Authentication.Abstractions\bin\Debug\Microsoft.Azure.Commands.Common.Authentication.Abstractions.dll"
$assembly = [System.Reflection.Assembly]::LoadFrom($filePath)
$defaultContext = [Microsoft.Azure.Commands.Common.Authentication.Abstractions.AzureRmProfileProvider]::Instance.Profile.DefaultContext
if ($defaultContext.Subscription.Id -ne $context.Subscription.Id)
{
throw "Subscription not set correctly" + $context.Subscription.Id
}
if ($defaultContext.Tenant.Id -ne $context.Tenant.Id)
{
throw "Tenant not set correctly" + $context.Tenant.Id
}
# Clean-up
Get-AzureRmADApplication -ApplicationId $servicePrincipal.ApplicationId | Remove-AzureRmADApplication -Force
Remove-Item Env:AZURE_TEST_MODE
Remove-Item Env:TEST_CSM_ORGID_AUTHENTICATION
$filePath = $Env:USERPROFILE + "\.azure\testcredentials.json"
Remove-Item -LiteralPath $filePath -Force
$directoryPath = $Env:USERPROFILE + "\.azure\"
$directoryEmpty = Get-ChildItem $directoryPath | Measure-Object
if ($directoryEmpty.Count -eq 0)
{
Remove-Item $directoryPath -Recurse -Force
}
}
Function Test-NewCredentialExistingServicePrincipal
{
# Set-up
$SecureStringSecret = ConvertTo-SecureString "testpassword" -AsPlainText -Force
$NewServicePrincipal = New-AzureRmADServicePrincipal -DisplayName "credentialtestserviceprincipal" -Password $SecureStringSecret
$context = Get-AzureRmContext
$Scope = "/subscriptions/" + $context.Subscription.Id
$NewRole = $null
$Retries = 0;
While ($NewRole -eq $null -and $Retries -le 6)
{
# Sleep here for a few seconds to allow the service principal application to become active (should only take a couple of seconds normally)
Start-Sleep 5
New-AzureRMRoleAssignment -RoleDefinitionName Contributor -ServicePrincipalName $NewServicePrincipal.ApplicationId -Scope $Scope | Write-Verbose -ErrorAction SilentlyContinue
$NewRole = Get-AzureRMRoleAssignment -ObjectId $NewServicePrincipal.Id -ErrorAction SilentlyContinue
$Retries++;
}
$secureSecret = ConvertTo-SecureString -String "testpassword" -AsPlainText -Force
New-TestCredential -ServicePrincipalDisplayName "credentialtestserviceprincipal" -ServicePrincipalSecret $secureSecret -SubscriptionId $context.Subscription.Id -TenantId $context.Tenant.Id -RecordMode "Playback" -Force
# Test that connection string is properly set
$filePath = Join-Path -Path $PSScriptRoot -ChildPath "\..\..\..\src\ResourceManager\Common\Commands.ScenarioTests.ResourceManager.Common\bin\Debug\Microsoft.Azure.Commands.ScenarioTest.Common.dll"
$assembly = [System.Reflection.Assembly]::LoadFrom($filePath)
$envHelper = New-Object Microsoft.WindowsAzure.Commands.ScenarioTest.EnvironmentSetupHelper -ArgumentList @()
$envHelper.SetEnvironmentVariableFromCredentialFile()
if (($Env:AZURE_TEST_MODE -ne "Playback") -or ($Env:TEST_CSM_ORGID_AUTHENTICATION -ne
"SubscriptionId=" + $context.Subscription.Id + ";HttpRecorderMode=Playback;Environment=Prod;ServicePrincipal=" + $NewServicePrincipal.ApplicationId + ";ServicePrincipalSecret=testpassword;" +
"AADTenant=" + $context.Tenant.Id))
{
throw "ConnectionString not set correctly" + $Env:TEST_CSM_ORGID_AUTHENTICATION
}
# Test that TestEnviroment is set-up properly
$synch = New-Object System.Threading.SynchronizationContext -ArgumentList @()
[System.Threading.SynchronizationContext]::SetSynchronizationContext($synch)
$envHelper.SetupAzureEnvironmentFromEnvironmentVariables("AzureResourceManager")
$filePath = Join-Path -Path $PSScriptRoot -ChildPath "\..\..\..\src\Common\Commands.Common.Authentication.Abstractions\bin\Debug\Microsoft.Azure.Commands.Common.Authentication.Abstractions.dll"
$assembly = [System.Reflection.Assembly]::LoadFrom($filePath)
$defaultContext = [Microsoft.Azure.Commands.Common.Authentication.Abstractions.AzureRmProfileProvider]::Instance.Profile.DefaultContext
if ($defaultContext.Subscription.Id -ne $context.Subscription.Id)
{
throw "Subscription not set correctly" + $context.Subscription.Id
}
if ($defaultContext.Tenant.Id -ne $context.Tenant.Id)
{
throw "Tenant not set correctly" + $context.Tenant.Id
}
# Clean-up
Get-AzureRmADApplication -ApplicationId $NewServicePrincipal.ApplicationId | Remove-AzureRmADApplication -Force
Remove-Item Env:AZURE_TEST_MODE
Remove-Item Env:TEST_CSM_ORGID_AUTHENTICATION
$filePath = $Env:USERPROFILE + "\.azure\testcredentials.json"
Remove-Item -LiteralPath $filePath -Force
$directoryPath = $Env:USERPROFILE + "\.azure\"
$directoryEmpty = Get-ChildItem $directoryPath | Measure-Object
if ($directoryEmpty.Count -eq 0)
{
Remove-Item $directoryPath -Recurse -Force
}
}
Function Test-NewCredentialUserId
{
$context = Get-AzureRmContext
New-TestCredential -UserId "testuser" -SubscriptionId $context.Subscription.Id -RecordMode "Playback" -Force
# Test that connection string is properly set
$filePath = Join-Path -Path $PSScriptRoot -ChildPath "\..\..\..\src\ResourceManager\Common\Commands.ScenarioTests.ResourceManager.Common\bin\Debug\Microsoft.Azure.Commands.ScenarioTest.Common.dll"
$assembly = [System.Reflection.Assembly]::LoadFrom($filePath)
$envHelper = New-Object Microsoft.WindowsAzure.Commands.ScenarioTest.EnvironmentSetupHelper -ArgumentList @()
$envHelper.SetEnvironmentVariableFromCredentialFile()
if (($Env:AZURE_TEST_MODE -ne "Playback") -or ($Env:TEST_CSM_ORGID_AUTHENTICATION -ne "SubscriptionId=" + $context.Subscription.Id + ";HttpRecorderMode=Playback;Environment=Prod;UserId=testuser"))
{
throw "ConnectionString not set correctly" + $Env:TEST_CSM_ORGID_AUTHENTICATION
}
# Test that TestEnviroment is set-up properly
$synch = New-Object System.Threading.SynchronizationContext -ArgumentList @()
[System.Threading.SynchronizationContext]::SetSynchronizationContext($synch)
$envHelper.SetupAzureEnvironmentFromEnvironmentVariables("AzureResourceManager")
$filePath = Join-Path -Path $PSScriptRoot -ChildPath "\..\..\..\src\Common\Commands.Common.Authentication.Abstractions\bin\Debug\Microsoft.Azure.Commands.Common.Authentication.Abstractions.dll"
$assembly = [System.Reflection.Assembly]::LoadFrom($filePath)
$defaultContext = [Microsoft.Azure.Commands.Common.Authentication.Abstractions.AzureRmProfileProvider]::Instance.Profile.DefaultContext
if ($defaultContext.Subscription.Id -ne $context.Subscription.Id)
{
throw "Subscription not set correctly" + $context.Subscription.Id
}
# Clean-up
Remove-Item Env:AZURE_TEST_MODE
Remove-Item Env:TEST_CSM_ORGID_AUTHENTICATION
$filePath = $Env:USERPROFILE + "\.azure\testcredentials.json"
Remove-Item -LiteralPath $filePath -Force
$directoryPath = $Env:USERPROFILE + "\.azure\"
$directoryEmpty = Get-ChildItem $directoryPath | Measure-Object
if ($directoryEmpty.Count -eq 0)
{
Remove-Item $directoryPath -Recurse -Force
}
}
Function Test-SetEnvironmentServicePrincipal
{
# Set-up
$SecureStringSecret = ConvertTo-SecureString "testpassword" -AsPlainText -Force
$NewServicePrincipal = New-AzureRmADServicePrincipal -DisplayName "credentialtestserviceprincipal" -Password $SecureStringSecret
$context = Get-AzureRmContext
$Scope = "/subscriptions/" + $context.Subscription.Id
$NewRole = $null
$Retries = 0;
While ($NewRole -eq $null -and $Retries -le 6)
{
# Sleep here for a few seconds to allow the service principal application to become active (should only take a couple of seconds normally)
Start-Sleep 5
New-AzureRMRoleAssignment -RoleDefinitionName Contributor -ServicePrincipalName $NewServicePrincipal.ApplicationId -Scope $Scope | Write-Verbose -ErrorAction SilentlyContinue
$NewRole = Get-AzureRMRoleAssignment -ObjectId $NewServicePrincipal.Id -ErrorAction SilentlyContinue
$Retries++;
}
# Test that connection string is properly set
Set-TestEnvironment -ServicePrincipalId $NewServicePrincipal.ApplicationId -ServicePrincipalSecret "testpassword" -SubscriptionId $context.Subscription.Id -TenantId $context.Tenant.Id -RecordMode "Record"
if (($Env:AZURE_TEST_MODE -ne "Record") -or ($Env:TEST_CSM_ORGID_AUTHENTICATION -ne
"SubscriptionId=" + $context.Subscription.Id + ";HttpRecorderMode=Record;Environment=Prod;AADTenant=" + $context.Tenant.Id + ";ServicePrincipal=" + $NewServicePrincipal.ApplicationId + ";ServicePrincipalSecret=testpassword"))
{
throw "ConnectionString not set correctly" + $Env:TEST_CSM_ORGID_AUTHENTICATION
}
# Test that TestEnviroment is set-up properly
$synch = New-Object System.Threading.SynchronizationContext -ArgumentList @()
[System.Threading.SynchronizationContext]::SetSynchronizationContext($synch)
$filePath = Join-Path -Path $PSScriptRoot -ChildPath "\..\..\..\src\ResourceManager\Common\Commands.ScenarioTests.ResourceManager.Common\bin\Debug\Microsoft.Azure.Commands.ScenarioTest.Common.dll"
$assembly = [System.Reflection.Assembly]::LoadFrom($filePath)
$envHelper = New-Object Microsoft.WindowsAzure.Commands.ScenarioTest.EnvironmentSetupHelper -ArgumentList @()
$envHelper.SetupAzureEnvironmentFromEnvironmentVariables("AzureResourceManager")
$filePath = Join-Path -Path $PSScriptRoot -ChildPath "\..\..\..\src\Common\Commands.Common.Authentication.Abstractions\bin\Debug\Microsoft.Azure.Commands.Common.Authentication.Abstractions.dll"
$assembly = [System.Reflection.Assembly]::LoadFrom($filePath)
$defaultContext = [Microsoft.Azure.Commands.Common.Authentication.Abstractions.AzureRmProfileProvider]::Instance.Profile.DefaultContext
if ($defaultContext.Subscription.Id -ne $context.Subscription.Id)
{
throw "Subscription not set correctly" + $context.Subscription.Id
}
if ($defaultContext.Tenant.Id -ne $context.Tenant.Id)
{
throw "Tenant not set correctly" + $context.Tenant.Id
}
# Clean-up
Get-AzureRmADApplication -ApplicationId $NewServicePrincipal.ApplicationId | Remove-AzureRmADApplication -Force
Remove-Item Env:AZURE_TEST_MODE
Remove-Item Env:TEST_CSM_ORGID_AUTHENTICATION
}
Function Test-SetEnvironmentUserId
{
$context = Get-AzureRmContext
Set-TestEnvironment -UserId "testuser" -SubscriptionId $context.Subscription.Id -RecordMode "Playback"
# Test that connection string is properly set
if (($Env:AZURE_TEST_MODE -ne "Playback") -or ($Env:TEST_CSM_ORGID_AUTHENTICATION -ne "SubscriptionId=" + $context.Subscription.Id + ";HttpRecorderMode=Playback;Environment=Prod;UserId=testuser"))
{
throw "ConnectionString not set correctly" + $Env:TEST_CSM_ORGID_AUTHENTICATION
}
# Test that TestEnviroment is set-up properly
$synch = New-Object System.Threading.SynchronizationContext -ArgumentList @()
[System.Threading.SynchronizationContext]::SetSynchronizationContext($synch)
$filePath = Join-Path -Path $PSScriptRoot -ChildPath "\..\..\..\src\ResourceManager\Common\Commands.ScenarioTests.ResourceManager.Common\bin\Debug\Microsoft.Azure.Commands.ScenarioTest.Common.dll"
$assembly = [System.Reflection.Assembly]::LoadFrom($filePath)
$envHelper = New-Object Microsoft.WindowsAzure.Commands.ScenarioTest.EnvironmentSetupHelper -ArgumentList @()
$envHelper.SetupAzureEnvironmentFromEnvironmentVariables("AzureResourceManager")
$filePath = Join-Path -Path $PSScriptRoot -ChildPath "\..\..\..\src\Common\Commands.Common.Authentication.Abstractions\bin\Debug\Microsoft.Azure.Commands.Common.Authentication.Abstractions.dll"
$assembly = [System.Reflection.Assembly]::LoadFrom($filePath)
$defaultContext = [Microsoft.Azure.Commands.Common.Authentication.Abstractions.AzureRmProfileProvider]::Instance.Profile.DefaultContext
if ($defaultContext.Subscription.Id -ne $context.Subscription.Id)
{
throw "Subscription not set correctly" + $context.Subscription.Id
}
# Clean-up
Remove-Item Env:AZURE_TEST_MODE
Remove-Item Env:TEST_CSM_ORGID_AUTHENTICATION
}
Test-NewCredentialNewServicePrincipal
Test-NewCredentialExistingServicePrincipal
Test-NewCredentialUserId
Test-SetEnvironmentServicePrincipal
Test-SetEnvironmentUserId

Просмотреть файл

@ -70,6 +70,9 @@ function Create-ModulePsm1
$completerCommands = Find-CompleterAttribute -ModuleMetadata $ModuleMetadata -ModulePath $ModulePath -IsRMModule $IsRMModule
$template = $template -replace "%COMPLETERCOMMANDS%", $completerCommands
$contructedCommands = Find-DefaultResourceGroupCmdlets -AddDefaultParameters $AddDefaultParameters -ModuleMetadata $ModuleMetadata -ModulePath $ModulePath
$template = $template -replace "%DEFAULTRGCOMMANDS%", $contructedCommands
Write-Host "Writing psm1 manifest to $templateOutputPath"
$template | Out-File -FilePath $templateOutputPath -Force
$file = Get-Item -Path $templateOutputPath
@ -145,6 +148,79 @@ function Find-CompleterAttribute
return $constructedCommands
}
}
function Find-DefaultResourceGroupCmdlets
{
[CmdletBinding()]
param(
[bool]$AddDefaultParameters,
[Hashtable]$ModuleMetadata,
[string]$ModulePath
)
PROCESS
{
if ($AddDefaultParameters)
{
$nestedModules = $ModuleMetadata.NestedModules
$AllCmdlets = @()
$nestedModules | ForEach-Object {
$dllPath = Join-Path -Path $ModulePath -ChildPath $_
$Assembly = [Reflection.Assembly]::LoadFrom($dllPath)
$dllCmdlets = $Assembly.GetTypes() | Where-Object {$_.CustomAttributes.AttributeType.Name -contains "CmdletAttribute"}
$AllCmdlets += $dllCmdlets
}
$FilteredCommands = $AllCmdlets | Where-Object {Test-CmdletRequiredParameter -Cmdlet $_ -Parameter "ResourceGroupName"}
if ($FilteredCommands.Length -eq 0) {
$contructedCommands = "@()"
}
else {
$contructedCommands = "@("
$FilteredCommands | ForEach-Object {
$contructedCommands += "'" + $_.GetCustomAttributes("System.Management.Automation.CmdletAttribute").VerbName + "-" + $_.GetCustomAttributes("System.Management.Automation.CmdletAttribute").NounName + ":ResourceGroupName" + "',"
}
$contructedCommands = $contructedCommands -replace ".$",")"
}
return $contructedCommands
}
else {
return "@()"
}
}
}
function Test-CmdletRequiredParameter
{
[CmdletBinding()]
param(
[Object]$Cmdlet,
[string]$Parameter
)
PROCESS
{
$rgParameter = $Cmdlet.GetProperties() | Where-Object {$_.Name -eq $Parameter}
if ($rgParameter -ne $null) {
$parameterAttributes = $rgParameter.CustomAttributes | Where-Object {$_.AttributeType.Name -eq "ParameterAttribute"}
$isMandatory = $true
$parameterAttributes | ForEach-Object {
$hasParameterSet = $_.NamedArguments | Where-Object {$_.MemberName -eq "ParameterSetName"}
$MandatoryParam = $_.NamedArguments | Where-Object {$_.MemberName -eq "Mandatory"}
if (($hasParameterSet -ne $null) -or (!$MandatoryParam.TypedValue.Value)) {
$isMandatory = $false
}
}
if ($isMandatory) {
return $true
}
}
return $false
}
}
function Create-MinimumVersionEntry
{
[CmdletBinding()]