Invoke-SqlVulnerabilityAssessmentScan

Memanggil pemindaian Penilaian Kerentanan baru.

Sintaks

ByContext (Default)

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>]

Deskripsi

cmdlet Invoke-SqlVulnerabilityAssessmentScan menjalankan pemindaian pada database Anda. Cmdlet menggunakan pangkalan pengetahuan pemeriksaan keamanan yang menandai kerentanan keamanan dan menyoroti penyimpangan dari praktik terbaik, seperti kesalahan konfigurasi, izin berlebihan, dan data sensitif yang tidak terlindungi. Pemeriksaan keamanan didasarkan pada praktik terbaik microsoft yang direkomendasikan, dan fokus pada masalah keamanan yang menyajikan risiko terbesar bagi database Anda dan data berharganya. Pemeriksaan keamanan ini juga mewakili banyak persyaratan dari berbagai badan peraturan untuk memenuhi standar kepatuhan mereka.

Hasil pemindaian mencakup langkah-langkah yang dapat diambil untuk menyelesaikan setiap masalah dan menyediakan skrip remediasi yang disesuaikan jika berlaku. Laporan penilaian dapat disesuaikan untuk lingkungan Anda dengan mengatur garis besar yang dapat diterima untuk konfigurasi izin, konfigurasi fitur, dan pengaturan database.

Module requirements: version 21+ on PowerShell 5.1; version 22+ on PowerShell 7.x.

This cmdlet was removed in v22.3+ of the module.

Contoh

Contoh 1: Memanggil pemindaian Penilaian Kerentanan menggunakan autentikasi Windows pada database 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]...}

Dalam contoh ini kami memanggil pemindaian Penilaian Kerentanan pada database master menggunakan autentikasi Windows.

Contoh 2: Memanggil pemindaian Penilaian Kerentanan menggunakan konteks jalur saat ini

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]...}

Contoh ini menunjukkan bagaimana Invoke-SqlVulnerabilityAssessmentScan menggunakan jalur saat ini untuk mengatur konteks database ke MyDatabase.

Contoh 3: Memanggil pemindaian Penilaian Kerentanan menggunakan metadata pemeriksaan keamanan dan kredensial

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  :

Contoh ini menunjukkan cara memanggil pemindaian menggunakan PSCredential. Ini juga menunjukkan penggunaan bendera -OmitMetadata (perhatikan bahwa hasilnya tidak berisi kamus pemeriksaan keamanan - ini adalah metadata pemeriksaan, seperti judul, deskripsi, dll.).

Contoh 4: Memanggil pemindaian Penilaian Kerentanan dengan garis besar

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"
}

Contoh ini menunjukkan cara membuat kumpulan garis besar dan memanggil pemindaian dengannya. Properti BaselineAdjustedSecurityCheckResult dalam hasil 'VA2109' berisi hasil yang disesuaikan garis besar. Perhatikan bahwa status asli hasil ini Gagal, tetapi status hasil yang disesuaikan garis besar diteruskan.

Parameter

-Baseline

Kumpulan garis besar pemeriksaan keamanan Penilaian Kerentanan

Properti parameter

Jenis:SecurityCheckBaselineSet
Nilai default:None
Mendukung wildcard:False
DontShow:False

Set parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-ConnectionString

Menentukan string koneksi untuk menyambungkan ke database. Jika parameter ini ada, parameter koneksi lain akan diabaikan

Properti parameter

Jenis:String
Nilai default:None
Mendukung wildcard:False
DontShow:False

Set parameter

ByConnectionString
Position:Named
Wajib:True
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-Credential

Menentukan kredensial yang digunakan untuk menyambungkan ke database.

Properti parameter

Jenis:PSCredential
Nilai default:None
Mendukung wildcard:False
DontShow:False

Set parameter

ByConnectionParameters
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-DatabaseName

Menentukan nama database. Cmdlet ini tersambung ke database ini dalam instans yang ditentukan dalam parameter ServerInstance.

Jika parameter Database tidak ditentukan, database yang digunakan bergantung pada apakah jalur saat ini menentukan folder SQLSERVER:\SQL dan nama database. Jika jalur menentukan folder SQL dan nama database, cmdlet ini tersambung ke database yang ditentukan dalam jalur.

Properti parameter

Jenis:String
Nilai default:None
Mendukung wildcard:False
DontShow:False

Set parameter

ByConnectionParameters
Position:Named
Wajib:True
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-InputObject

Menentukan objek input untuk operasi pemindaian.

Properti parameter

Jenis:Database
Nilai default:None
Mendukung wildcard:False
DontShow:False

Set parameter

ByDBObject
Position:Named
Wajib:True
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-OmitMetadata

Apakah akan menghilangkan metadata pemeriksaan keamanan (misalnya judul, deskripsi, dll.) Perhatikan bahwa Export-VulnerabilityAssessmentScan memerlukan metadata pemeriksaan keamanan untuk dijalankan dengan benar.

Properti parameter

Jenis:SwitchParameter
Nilai default:None
Mendukung wildcard:False
DontShow:False

Set parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-Path

Menentukan jalur ke instans SQL Server untuk menjalankan pemindaian.

Properti parameter

Jenis:String
Nilai default:None
Mendukung wildcard:False
DontShow:False

Set parameter

ByPath
Position:Named
Wajib:True
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-ScanId

Id pemindaian Penilaian Kerentanan

Properti parameter

Jenis:String
Nilai default:None
Mendukung wildcard:False
DontShow:False

Set parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-ServerInstance

Menentukan string karakter atau objek SQL Server Management Objects (SMO) yang menentukan nama instans Mesin Database. Untuk instans default, hanya tentukan nama komputer: MyComputer. Untuk instans bernama, gunakan format ComputerName\InstanceName.

Properti parameter

Jenis:PSObject
Nilai default:None
Mendukung wildcard:False
DontShow:False

Set parameter

ByConnectionParameters
Position:Named
Wajib:True
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

CommonParameters

Cmdlet ini mendukung parameter umum: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction, dan -WarningVariable. Untuk informasi selengkapnya, lihat about_CommonParameters.

Input

None

Output

System.Object