Remove-AzSqlDatabaseDataMaskingRule 忽略 Table 和列名
Remove-AzSqlDatabaseDataMaskingRule is ignoring Table and Column name
PowerShell 方法 Remove-AzSqlDatabaseDataMaskingRule
就像它具有未定义的行为一样。
它似乎完全忽略了 -TableName
和 -ColumnName
参数,而是简单地删除了它找到的第一个屏蔽规则。
查看以下命令:
Remove-AzSqlDatabaseDataMaskingRule -SchemaName "dbo" -TableName "anything" -ColumnName "anything" -ServerName "our-server-name" -DatabaseName "our-database-name" -ResourceGroupName "our-rg"
通话中
Get-AzSqlDatabaseDataMaskingRule -ServerName "our-server-name" -DatabaseName "our-database-name" -ResourceGroupName "our-rg"
Returns 删除命令前的所有规则,删除命令后 returns 少一条。所以它删除了一些东西,只是我们要求它删除的特定规则。
有人熟悉这种行为吗?
好吧,我也可以在我这边重现你的问题,即使使用最新的 Az.Sql
模块,它也应该是一个错误。
在这种情况下,我的解决方法是直接使用Invoke-AzRestMethod
to call the REST API - Data Masking Rules - Create Or Update
。
请确保您的 Az
模块不是太旧,否则没有 Invoke-AzRestMethod
命令,如果需要,您可以使用 Update-Module -Name Az
更新模块。
在我的示例中,tab1
是 TableName,col2
是 ColumnName,dbo
是 SchemaName,也用你的值替换它们,"ruleState": "Disabled"
用于删除规则。有关 Payload
中的值的详细信息,您可以使用 Get-AzSqlDatabaseDataMaskingRule
查看特定值。
$id = (Get-AzSqlDatabase -ServerName "joysqldb" -DatabaseName "joydb1" -ResourceGroupName "xxxx").ResourceId
Invoke-AzRestMethod -Path "$id/dataMaskingPolicies/Default/rules/dbo_tab1_col2?api-version=2014-04-01" -Method "PUT" -Payload '{
"properties": {
"id": "dbo_tab1_col2",
"ruleState": "Disabled",
"schemaName": "dbo",
"tableName": "tab1",
"columnName": "col2",
"maskingFunction": "Default"
}
}'
PowerShell 方法 Remove-AzSqlDatabaseDataMaskingRule
就像它具有未定义的行为一样。
它似乎完全忽略了 -TableName
和 -ColumnName
参数,而是简单地删除了它找到的第一个屏蔽规则。
查看以下命令:
Remove-AzSqlDatabaseDataMaskingRule -SchemaName "dbo" -TableName "anything" -ColumnName "anything" -ServerName "our-server-name" -DatabaseName "our-database-name" -ResourceGroupName "our-rg"
通话中
Get-AzSqlDatabaseDataMaskingRule -ServerName "our-server-name" -DatabaseName "our-database-name" -ResourceGroupName "our-rg"
Returns 删除命令前的所有规则,删除命令后 returns 少一条。所以它删除了一些东西,只是我们要求它删除的特定规则。
有人熟悉这种行为吗?
好吧,我也可以在我这边重现你的问题,即使使用最新的 Az.Sql
模块,它也应该是一个错误。
在这种情况下,我的解决方法是直接使用Invoke-AzRestMethod
to call the REST API - Data Masking Rules - Create Or Update
。
请确保您的 Az
模块不是太旧,否则没有 Invoke-AzRestMethod
命令,如果需要,您可以使用 Update-Module -Name Az
更新模块。
在我的示例中,tab1
是 TableName,col2
是 ColumnName,dbo
是 SchemaName,也用你的值替换它们,"ruleState": "Disabled"
用于删除规则。有关 Payload
中的值的详细信息,您可以使用 Get-AzSqlDatabaseDataMaskingRule
查看特定值。
$id = (Get-AzSqlDatabase -ServerName "joysqldb" -DatabaseName "joydb1" -ResourceGroupName "xxxx").ResourceId
Invoke-AzRestMethod -Path "$id/dataMaskingPolicies/Default/rules/dbo_tab1_col2?api-version=2014-04-01" -Method "PUT" -Payload '{
"properties": {
"id": "dbo_tab1_col2",
"ruleState": "Disabled",
"schemaName": "dbo",
"tableName": "tab1",
"columnName": "col2",
"maskingFunction": "Default"
}
}'