首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >需要powershell脚本来启用存储帐户和密钥库的诊断日志记录

需要powershell脚本来启用存储帐户和密钥库的诊断日志记录
EN

Stack Overflow用户
提问于 2020-05-28 20:41:16
回答 3查看 1.2K关注 0票数 1

我正在使用下面的脚本创建一个存储帐户,密钥库和ADF。我还想启用存储帐户和密钥库的诊断日志记录。脚本运行良好,并创建资源,但是它不启用KV和存储帐户的诊断日志。如果你能帮忙就好了。

代码语言:javascript
运行
复制
$subscription="Azure subscription 1"
$rgName = "Test"
$location = "eastus"
$storageaccountName = "tempaccountlogs"
$adfName = "tempdpadf"
$department = "Testtemp"
$kvname = "kvnamAkbt"

$sa = New-AzStorageAccount -ResourceGroupName $rgName -AccountName $storageaccountName -Location $location -SkuName Standard_LRS -Kind BlobStorage -AccessTier Hot -Tag @{department=$department}
$DataFactory = Set-AzDataFactoryV2 -Name $adfName -ResourceGroupName $rgName -Location $location -Tag @{chargecode=$chargeCode;department=$department;environment=$environment;project=$project}
$kv = New-AzKeyVault -VaultName $kvname -ResourceGroupName $rgName -Location $location


set-AzDiagnosticSetting -ResourceId $kv.ResourceId -StorageAccountId $sa.Id -Enabled $true -Categories AuditEvent
set-AzDiagnosticSetting -ResourceId $kv.ResourceId -StorageAccountId $sa.Id -RetentionEnabled $true -RetentionInDays 90
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2020-05-29 07:21:23

您应该在cmd中包含-WorkspaceId参数。参见参考资料这里

我的示例成功运行:

代码语言:javascript
运行
复制
set-AzDiagnosticSetting -ResourceId $kv.ResourceId -StorageAccountId $sa.Id -Enabled $true -Category AuditEvent -WorkspaceId {resource id of the Log Analytics workspace}

有关如何创建Log工作区,请参阅创建工作区

更新:

有关如何为ADF启用诊断日志,请参阅以下示例:

代码语言:javascript
运行
复制
$ws = Get-AzOperationalInsightsWorkspace -Name "testLAW" -ResourceGroupName "test"
$DataFactory = Set-AzDataFactoryV2 -ResourceGroupName "test" -Name "testADF" -Location "WestUS"
set-AzDiagnosticSetting -ResourceId $DataFactory.DataFactoryId  -Enabled $true -WorkspaceId $ws.ResourceId 
票数 0
EN

Stack Overflow用户

发布于 2020-05-29 13:10:57

脚本的问题在于它会产生错误:

找不到匹配参数名称“类别”的参数。

您使用的是“类别”参数,而不是“类别”。如果您检查这个文档正确的参数是-Category,请使用如下所示:

代码语言:javascript
运行
复制
set-AzDiagnosticSetting -ResourceId $kv.ResourceId -StorageAccountId $sa.Id -Enabled $true -Category AuditEvent
set-AzDiagnosticSetting -ResourceId $kv.ResourceId -StorageAccountId $sa.Id -RetentionEnabled $true -RetentionInDays 90

若要启用存储帐户的日志记录,请查看此文档

票数 1
EN

Stack Overflow用户

发布于 2020-12-28 18:46:35

代码语言:javascript
运行
复制
$diagname = "storage logs"
    
$ErrorActionPreference = "SilentlyContinue"
Import-Module -Name Az
    
Import-Csv "$home\azuresubscription.csv" |`
ForEach-Object{
        
    #CentralLogAnalytics
    $workspaceid = "your central logging resource id - exact object"
    Select-AzSubscription -Subscription $_.Name
    $storageAccounts = Get-AzStorageAccount | Select-Object Id

    foreach ($stor in $storageAccounts)
    {
        Set-AzDiagnosticSetting -Name $diagname -ResourceId $stor.Id -WorkspaceId $workspaceid -Enabled $true
    
        $blobid = -join($stor.id,"/blobServices/default")
        $fileid = -join($stor.id, "/fileServices/default")
        $queueid = -join($stor.id, "/queueServices/default")
        $tableid = -join($stor.id, "/tableServices/default")
    
        $resourcetypeid = @($blobid, $fileid, $queueid, $tableid)
        foreach ($item in $resourcetypeid)
        {
            Set-AzDiagnosticSetting -Name $diagname -ResourceId $item -WorkspaceId $workspaceid -Enabled $true 
        }        
    }
}

先决条件:脚本需要一个CSV文件中的azure订阅列表。在NonProd订阅中安装CSV是最简单的测试方法。这里还可以提供订阅的对象。

Functionality: --这将启用blob、队列、文件和表以及父级的度量标准。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62074147

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档