PowerShell-使用列表和哈希表的惯用方式

时间:2019-12-20 15:04:25

标签: powershell

我来自C#的背景,一直在为如何在PowerShell中执行真正的基本任务而苦苦挣扎。我正在使用Az模块来自动化我们的一些基础架构,例如,我需要

  • 获取当前Web应用程序的设置
  • 从中删除密钥
  • 将修改后的设置应用回Web应用程序
param (
    [string] $resourceGroup,
    [string] $appName,
    [string] $connectionStringName,
    [string] $sourceDatabaseName,
    [string] $databaseName
)

$app = Get-AzWebApp -ResourceGroupName $resourceGroup -Name $appName

$appSettings = $app.SiteConfig.AppSettings
$keySelector = [System.Func``2[Microsoft.Azure.Management.WebSites.Models.NameValuePair, string]] { $args[0].Name }
$valueSelector = [System.Func``2[Microsoft.Azure.Management.WebSites.Models.NameValuePair, string]] { $args[0].Value }
$appSettingsMap = [System.Linq.Enumerable]::ToDictionary($srcapp.SiteConfig.AppSettings, $keySelector, $valueSelector)
$appSettingsMap.Remove("APPINSIGHTS_INSTRUMENTATIONKEY")
$appSettingsHashtable = New-Object System.Collections.Hashtable($appSettingsMap)

Set-AzWebApp -ResourceGroupName $resourceGroup -Name $appName -AppSettings $appSettingsHashtable

发生的事情很少,但是有很多样板,但是在惯用的PowerShell中实现这种效果的最好的,最好是功能性的方法是什么?

0 个答案:

没有答案