Invoke-SqlVulnerabilityAssessmentScan
Appelle une nouvelle analyse d’évaluation des vulnérabilités.
Syntaxe
ByContext (Par défaut)
Invoke-SqlVulnerabilityAssessmentScan
[-ScanId <String>]
[-Baseline <SecurityCheckBaselineSet>]
[-OmitMetadata]
[<CommonParameters>]
ByConnectionString
Invoke-SqlVulnerabilityAssessmentScan
-ConnectionString <String>
[-ScanId <String>]
[-Baseline <SecurityCheckBaselineSet>]
[-OmitMetadata]
[<CommonParameters>]
ByConnectionParameters
Invoke-SqlVulnerabilityAssessmentScan
-ServerInstance <PSObject>
-DatabaseName <String>
[-Credential <PSCredential>]
[-ScanId <String>]
[-Baseline <SecurityCheckBaselineSet>]
[-OmitMetadata]
[<CommonParameters>]
ByPath
Invoke-SqlVulnerabilityAssessmentScan
-Path <String>
[-ScanId <String>]
[-Baseline <SecurityCheckBaselineSet>]
[-OmitMetadata]
[<CommonParameters>]
ByDBObject
Invoke-SqlVulnerabilityAssessmentScan
-InputObject <Database>
[-ScanId <String>]
[-Baseline <SecurityCheckBaselineSet>]
[-OmitMetadata]
[<CommonParameters>]
Description
L’applet de commande Invoke-SqlVulnerabilityAssessmentScan exécute une analyse sur votre base de données. L’applet de commande utilise une base de connaissances de vérifications de sécurité qui signale les vulnérabilités de sécurité et met en évidence les écarts par rapport aux bonnes pratiques, telles que les configurations incorrectes, les autorisations excessives et les données sensibles non protégées. Les vérifications de sécurité sont basées sur les meilleures pratiques recommandées par Microsoft et se concentrent sur les problèmes de sécurité qui présentent les plus grands risques pour votre base de données et ses données précieuses. Ces contrôles de sécurité représentent également la plupart des exigences de divers organismes de réglementation pour répondre à leurs normes de conformité.
Les résultats de l’analyse sont accompagnés d’étapes actionnables pour résoudre chaque problème et, le cas échéant, de scripts de correction personnalisés. Un rapport d’évaluation peut être personnalisé pour votre environnement en définissant une base de référence acceptable pour les configurations d’autorisation, les configurations de fonctionnalités et les paramètres de base de données.
Module requirements: version 21+ on PowerShell 5.1; version 22+ on PowerShell 7.x.
This cmdlet was removed in v22.3+ of the module.
Exemples
Exemple 1 : Appeler une analyse d’évaluation des vulnérabilités à l’aide de l’authentification Windows sur la base de données master
PS C:\> Invoke-SqlVulnerabilityAssessmentScan -ServerInstance "MyComputer\MainInstance" -Database "master" -ScanId "MyScan"
Id : MyScan
ScanType : BoxDatabase
ScanTriggerType : OnDemand
Server : MyComputer\MainInstance
Database : master
Platform : SqlServer2017
SqlVersion : 14.0.3015
StartTimeUtc : 3/17/2018 8:58:02 PM
EndTimeUtc : 3/17/2018 8:58:41 PM
ToolName : PowerShell
ToolVersion : 1.0
Results : {VA1017, VA1019, VA1020, VA1021...}
SecurityChecks : {[VA1017, Microsoft.SQL.VulnerabilityAssessment.SecurityCheck], [VA1019, Microsoft.SQL.VulnerabilityAssessment.SecurityCheck], [VA1020,
Microsoft.SQL.VulnerabilityAssessment.SecurityCheck], [VA1021, Microsoft.SQL.VulnerabilityAssessment.SecurityCheck]...}
Dans cet exemple, nous vocons une analyse d’évaluation des vulnérabilités sur la base de données master à l’aide de l’authentification Windows.
Exemple 2 : Appeler une analyse d’évaluation des vulnérabilités à l’aide du contexte de chemin d’accès actuel
PS C:\> Set-Location "SQLSERVER:\SQL\MyComputer\MainInstance\Databases\MyDatabase"
PS SQLSERVER:\SQL\MyComputer\MainInstance> Invoke-SqlVulnerabilityAssessmentScan
WARNING: Using provider context. Server = MyComputer\MainInstance, Database = MyDatabase.
Id : 2018-03-17T22-58-02
ScanType : BoxDatabase
ScanTriggerType : OnDemand
Server : MyComputer\MainInstance
Database : MyDatabase
Platform : SqlServer2017
SqlVersion : 14.0.3015
StartTimeUtc : 3/17/2018 8:58:02 PM
EndTimeUtc : 3/17/2018 8:58:41 PM
ToolName : PowerShell
ToolVersion : 1.0
Results : {VA1017, VA1019, VA1020, VA1021...}
SecurityChecks : {[VA1017, Microsoft.SQL.VulnerabilityAssessment.SecurityCheck], [VA1019, Microsoft.SQL.VulnerabilityAssessment.SecurityCheck], [VA1020,
Microsoft.SQL.VulnerabilityAssessment.SecurityCheck], [VA1021, Microsoft.SQL.VulnerabilityAssessment.SecurityCheck]...}
Cet exemple montre comment Invoke-SqlVulnerabilityAssessmentScan utilise le chemin d’accès actuel pour définir le contexte de base de données sur MyDatabase.
Exemple 3 : Appeler une analyse d’évaluation des vulnérabilités à l’aide des informations d’identification et omettre les métadonnées de vérification de sécurité
PS C:\> $cred = Get-Credential
PS C:\> Invoke-SqlVulnerabilityAssessmentScan -ServerInstance "MyComputer\MainInstance" -Database "master" -Credential $cred
Id : 2018-03-17T22-58-02
ScanType : BoxDatabase
ScanTriggerType : OnDemand
Server : MyComputer\MainInstance
Database : MyDatabase
Platform : SqlServer2017
SqlVersion : 14.0.3015
StartTimeUtc : 3/17/2018 8:58:02 PM
EndTimeUtc : 3/17/2018 8:58:41 PM
ToolName : PowerShell
ToolVersion : 1.0
Results : {VA1017, VA1019, VA1020, VA1021...}
SecurityChecks :
Cet exemple montre comment appeler une analyse à l’aide d’un PSCredential. Il illustre également l’utilisation d’un indicateur de -OmitMetadata (notez que le résultat ne contient pas le dictionnaire de vérifications de sécurité. Il s’agit des métadonnées des vérifications, telles que le titre, la description, etc.).
Exemple 4 : Appeler une analyse d’évaluation des vulnérabilités avec une base de référence
PS C:\> [string[][]]$expectedResults = ,("guest", "db_datareader", "SQLUSER", "NONE")
PS C:\> $baseline = New-SqlVulnerabilityAssessmentBaseline -SecurityCheckId "VA2109" -ExpectedResult $expectedResults
PS C:\> $baselineSet = New-SqlVulnerabilityAssessmentBaselineSet -Baselines $baseline
PS C:\> $scanResult = Invoke-SqlVulnerabilityAssessmentScan -ServerInstance "MyComputer\MainInstance" -Database "master" -Baseline $baselineSet
PS C:\> $result2109 = $scanResult.Results.GetEnumerator() | where {$_.Value.SecurityCheckId -eq "VA2109"
}
Cet exemple montre comment créer un jeu de lignes de base et appeler une analyse avec celle-ci. La propriété BaselineAdjustedSecurityCheckResult dans le résultat de « VA2109 » contient le résultat ajusté de référence. Notez que l’état d’origine de ce résultat a échoué, mais que l’état du résultat ajusté de référence est Passé.
Paramètres
-Baseline
Ensemble de base de référence de vérification de la sécurité de l’évaluation des vulnérabilités
Propriétés du paramètre
| Type: | SecurityCheckBaselineSet |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
(All)
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
-ConnectionString
Spécifie une chaîne de connexion à connecter à la base de données. Si ce paramètre est présent, d’autres paramètres de connexion sont ignorés
Propriétés du paramètre
| Type: | String |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
ByConnectionString
| Position: | Named |
| Obligatoire: | True |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
-Credential
Spécifie les informations d’identification utilisées pour se connecter à la base de données.
Propriétés du paramètre
| Type: | PSCredential |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
ByConnectionParameters
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
-DatabaseName
Spécifie le nom d’une base de données. Cette applet de commande se connecte à cette base de données dans l’instance spécifiée dans le paramètre ServerInstance.
Si le paramètre de base de données n’est pas spécifié, la base de données utilisée dépend si le chemin actuel spécifie à la fois le dossier SQLSERVER :\SQL et un nom de base de données. Si le chemin d’accès spécifie à la fois le dossier SQL et un nom de base de données, cette applet de commande se connecte à la base de données spécifiée dans le chemin d’accès.
Propriétés du paramètre
| Type: | String |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
ByConnectionParameters
| Position: | Named |
| Obligatoire: | True |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
-InputObject
Spécifie l’objet d’entrée pour l’opération d’analyse.
Propriétés du paramètre
| Type: | Database |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
ByDBObject
| Position: | Named |
| Obligatoire: | True |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
-OmitMetadata
Indique s’il faut omettre les métadonnées de vérification de sécurité (par exemple, titre, description, etc.) Notez que Export-VulnerabilityAssessmentScan nécessite que les métadonnées de vérification de sécurité s’exécutent correctement.
Propriétés du paramètre
| Type: | SwitchParameter |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
(All)
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
-Path
Spécifie le chemin d’accès à l’instance de SQL Server pour exécuter l’analyse.
Propriétés du paramètre
| Type: | String |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
ByPath
| Position: | Named |
| Obligatoire: | True |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
-ScanId
ID d’analyse de l’évaluation des vulnérabilités
Propriétés du paramètre
| Type: | String |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
(All)
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
-ServerInstance
Spécifie une chaîne de caractères ou un objet SMO (SQL Server Management Objects) qui spécifie le nom d’une instance du moteur de base de données. Pour les instances par défaut, spécifiez uniquement le nom de l’ordinateur : MyComputer. Pour les instances nommées, utilisez le format ComputerName\InstanceName.
Propriétés du paramètre
| Type: | PSObject |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
ByConnectionParameters
| Position: | Named |
| Obligatoire: | True |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
CommonParameters
Cette applet de commande prend en charge les paramètres courants : -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction et -WarningVariable. Pour plus d’informations, consultez about_CommonParameters.