使用 Powershell 从变量中搜索字符串
Search String from a variable using Powershell
我正在尝试从变量中搜索字符串。
我正在将 Azure Activity 日志转储到一个变量中,并尝试为该日志查找特定的行。下面是我的代码。
$log=Get-AzLog -ResourceId "/subscriptions/SubscriptionID/resourceGroups/ResourceGroupName/providers/Microsoft.Sql/servers/qcsqldw/databases/DatabaseName" -StartTime 2020-04-01T00:30
$find=$log | Select-String -Pattern 'Microsoft.Sql/servers/databases/resume/action'
Write-Output $find
我正在尝试从日志
中搜索这一行“Action : Microsoft.Sql/servers/databases/resume/action”
虽然运行上面的脚本我没有得到任何输出。
请帮我解决这个问题。
您似乎正在从 Azure Activity 资源日志中搜索 授权操作 属性。如果是这种情况,那么您不需要进行任何字符串搜索,只需引用 Authorization.Action
属性。 Get-AzLog
will give you a System.Object[]
, which can just be queried normally with Foreach-Object
or Where-Object
。您可以使用 (Get-AzLog).GetType().FullName
查找此类型信息。
你可以运行这个查询来得到你所有的结果 Foreach-Object
:
Get-AzLog -ResourceId $id -StartTime 2020-04-01T00:30 | ForEach-Object {$_.Authorization.Action}
这将从开始时间 2020-04-01T00:30
开始 运行 的所有日志中为您提供 Authorization.Action
属性。
如果要修改此查询以搜索特定操作,可以使用 Where-Object
进行过滤,然后从结果中 select Authorization.Action
:
(Get-AzLog -ResourceId $id -StartTime 2020-04-01T00:30 | Where-Object {$_.Authorization.Action -eq "Microsoft.Sql/servers/databases/resume/action"}).Authorization.Action
我正在尝试从变量中搜索字符串。
我正在将 Azure Activity 日志转储到一个变量中,并尝试为该日志查找特定的行。下面是我的代码。
$log=Get-AzLog -ResourceId "/subscriptions/SubscriptionID/resourceGroups/ResourceGroupName/providers/Microsoft.Sql/servers/qcsqldw/databases/DatabaseName" -StartTime 2020-04-01T00:30
$find=$log | Select-String -Pattern 'Microsoft.Sql/servers/databases/resume/action'
Write-Output $find
我正在尝试从日志
中搜索这一行“Action : Microsoft.Sql/servers/databases/resume/action”虽然运行上面的脚本我没有得到任何输出。
请帮我解决这个问题。
您似乎正在从 Azure Activity 资源日志中搜索 授权操作 属性。如果是这种情况,那么您不需要进行任何字符串搜索,只需引用 Authorization.Action
属性。 Get-AzLog
will give you a System.Object[]
, which can just be queried normally with Foreach-Object
or Where-Object
。您可以使用 (Get-AzLog).GetType().FullName
查找此类型信息。
你可以运行这个查询来得到你所有的结果 Foreach-Object
:
Get-AzLog -ResourceId $id -StartTime 2020-04-01T00:30 | ForEach-Object {$_.Authorization.Action}
这将从开始时间 2020-04-01T00:30
开始 运行 的所有日志中为您提供 Authorization.Action
属性。
如果要修改此查询以搜索特定操作,可以使用 Where-Object
进行过滤,然后从结果中 select Authorization.Action
:
(Get-AzLog -ResourceId $id -StartTime 2020-04-01T00:30 | Where-Object {$_.Authorization.Action -eq "Microsoft.Sql/servers/databases/resume/action"}).Authorization.Action