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.