Udostępnij za pośrednictwem


Using the Invoke-PolicyEvaluation cmdlet

Wywołaj PolicyEvaluation is a SQL Server Apletu polecenia powłoki dla systemu Windows PowerShell polecenia, które przedstawia czy element miejsce docelowe zestaw programu SQL Server, obiekty spełnia warunki określone w jedną lub więcej zasad opartych na zasadach zarządzania.

Za pomocą wywołania PolicyEvaluation

Wywołaj PolicyEvaluation oblicza jeden lub więcej zasad zestaw obiektów programu SQL Server o nazwie miejsce docelowe zestaw.Zestaw obiektów miejsce docelowe, pochodzi z serwer miejsce docelowe.Każda zasada określa warunki, które są dozwolone stany dla obiektów miejsce docelowe.Na przykład Godne zaufania bazy danych zasada stanowi właściwość ZAUFANEGO bazy danych musi być równa OFF.

The -AdHocPolicyEvaluationMode parameter specifies the actions taken:

  • Sprawdź
    Raport stanu zgodności obiektów miejsce docelowe przy użyciu poświadczenia użytkownika bieżącego logowania.Czy nie reconfigure żadnych obiektów.Jest to ustawienie domyślne.

  • CheckSqlScriptAsProxy
    Raport stanu zgodności obiektów miejsce docelowe przy użyciu poświadczenia ## MS_PolicyTSQLExecutionLogin ## logowania serwera proxy.Czy nie reconfigure żadnych obiektów.

  • Konfigurowanie
    Raport stanu zgodności obiektów miejsce docelowe przy użyciu poświadczenia użytkownika bieżącego logowania.Zmień konfigurację do ustawienia i deterministyczny opcje, które nie są zgodne z zasad.

Określanie zasady

Jak określić zasady zależy od tego, gdzie są przechowywane.Zasady mogą być przechowywane w dwóch formatach:

  • Mogą to być obiektów przechowywanych w magazynie zasad, takie jak wystąpienie aparat bazy danych.Folder SQLSERVER:\SQLPolicy służy do określania lokalizacji zasad w magazynie zasad.Można użyć cmdlets PowerShell systemu Windows, aby filtr wejściowy zasady na podstawie ich właściwości, takie jak filtrować według kategorii zasad lub GET element, aby odfiltrować nazwę zasady za pomocą obiektu miejsca.

  • Można je eksportować jako pliki XML.Na dysku systemu plików, takich jak D:, można użyć do określenia lokalizacji plików XML.Cmdlets PowerShell systemu Windows, takich jak miejsca obiektu można użyć do filtrowania zasad na ich właściwości, takie jak nazwa pliku.

Jeśli zasady te są przechowywane w magazynie zasad, użytkownik musi upłynąć w zestaw PSObjects wskazując zasady oceniane.Zazwyczaj jest to realizowane przez dane wyjściowe apletu polecenia w takich jak element GET do rurociągu Wywołaj PolicyEvaluationi nie wymaga określenia -Zasady parametr.Na przykład, jeśli Microsoft najważniejsze wskazówki dotyczące zasad zostały zaimportowane do wystąpienie aparat bazy danych, to polecenie oblicza Stan bazy danych policy:

sl "SQLSERVER:\SQLPolicy\MyComputer\DEFAULT\Policies"
Get-Item "Database Status" | Invoke-PolicyEvaluation -TargetServerName "MYCOMPUTER"

W tym przykładzie przedstawiono za pomocą obiektu miejsce do filtrowania wielu zasad z magazynu zasad na podstawie ich PolicyCategory właściwość.Obiekty z piped danych wyjściowych Gdzie obiekt jest zużywaWywołaj PolicyEvaluation.

sl "SQLSERVER:\SQLPolicy\MyComputer\DEFAULT\Policies"
cgi | Where-Object {$_.PolicyCategory -eq "Microsoft Best Practices: Maintenance"} | Invoke-PolicyEvaluation -TargetServer "MYCOMPUTER"

Jeśli zasady te są przechowywane jako pliki XML, należy użyć -Zasady parametr o podanie ścieżka i nazwy dla każdej zasady.Jeśli określisz ścieżkę w -Zasady parametrWywołaj PolicyEvaulation używa bieżącego ustawienia sqlps ścieżka. Na przykład polecenie to jest jedna z zasad zgodności z najważniejszymi wskazówkami firmy Microsoft zainstalowane z programem SQL Server w bazie domyślną nazwę użytkownika:

Invoke-PolicyEvaluation -Policy "C:\Program Files\Microsoft SQL Server\100\Tools\Policies\DatabaseEngine\1033\Database Status.xml" -TargetServerName "MYCOMPUTER"

To polecenie daje ten sam efekt, tylko używa bieżącego sqlps ścieżka do ustalenia położenia pliku zasady XML:

sl "C:\Program Files\Microsoft SQL Server\100\Tools\Policies\DatabaseEngine\1033"
Invoke-PolicyEvaluation -Policy "Database Status.xml" -TargetServerName "MYCOMPUTER"

W tym przykładzie przedstawiono za pomocą Polecenie GET ChildItem apletu polecenia do pobierania wielu plików XML zasad i potoku obiekty do Wywołaj PolicyEvaluation:

sl "C:\Program Files\Microsoft SQL Server\100\Tools\Policies\DatabaseEngine\1033"
cgi "Database Status.xml", "Trustworthy Database.xml" | Invoke-PolicyEvaluation -TargetServer "MYCOMPUTER"

Określanie zestaw miejsce docelowe

Użyj trzy parametry, aby określić zestaw obiektów miejsce docelowe:

  • -TargetServerName Określa wystąpienie programu SQL Server zawiera obiekty docelowe.Można określić informacje, w ciąg, który jest używany format zdefiniowany dla właściwość ConnectionString SQLConnection Klasa. Można użyć SqlConnectionStringBuilder Klasa zbudować ciąg połączenia poprawnie sformatowany. Można również utworzyć SqlStoreConnection obiekt, a następnie przekazać je do -Serwerdocelowy.Jeśli zostanie podana ciąg, który zawiera tylko nazwę serwera, Wywołaj PolicyEvaluation używa uwierzytelnianie systemu Windows, aby połączyć się z serwerem.

  • -miejsce doceloweObjects pobiera obiekt lub tablicy obiekty reprezentujące obiekty programu SQL Server w miejsce docelowe zestawu.Na przykład utworzyć tablicę Database klasy obiektów, aby przekazać do -TargetObjects.

  • -TargetExpressions pobiera ciąg zawierający wyrażenie kwerendy, które określa obiekty zestaw docelowym.Wyrażenie kwerendy jest w postaci węzłów oddzielone znakiem '/'.Każdy węzeł ma postać [filtr] typu obiektu.Typ obiektu jest jeden z obiektów w hierarchii obiektów obiekty SMO (SQL Server Management Object).Filtr jest wyrażenie, które filtry dla obiektów w tym węźle.Aby uzyskać więcej informacji zobacz Query Expressions and Unique Resource Names.

Określ albo -TargetObjects or -TargetExpression, nie oba na raz.

W tym przykładzie użyto obiektu Sfc.SqlStoreConnection do określenia serwer miejsce docelowe:

sl "C:\Program Files\Microsoft SQL Server\100\Tools\Policies\DatabaseEngine\1033"
$conn = New-Object Microsoft.SqlServer.Management.Sdk.Sfc.SqlStoreConnection("server='MYCOMPUTER';Trusted_Connection=True")
Invoke-PolicyEvaluation -Policy "Database Status.xml" -TargetServerName $conn

W tym przykładzie -TargetExpression do identyfikacji określonej bazy danych, aby ocenić:

sl "C:\Program Files\Microsoft SQL Server\100\Tools\Policies\DatabaseEngine\1033"
Invoke-PolicyEvaluation -Policy "Database Status.xml" -TargetServerName "MyComputer" -TargetExpression "Server[@Name='MYCOMPUTER']/Database[@Name='AdventureWorks']"

Ocena zasady usług analiz

Aby ocenić zasad przed wystąpienie Analysis Services, należy załadować i zarejestrować wirtualny plik dziennika do sqlps. Utwórz zmienną z obiektem połączenia usług Analysis Services i przekazywać zmiennej -TargetObject parametr.W tym przykładzie przedstawiono oceny najważniejsze wskazówki dotyczące obszar powierzchni konfiguracja zasad Analysis Services:

sl "C:\Program Files\Microsoft SQL Server\100\Tools\Policies\AnalysisServices\1033"
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.AnalysisServices")
$SSASsvr = new-object Microsoft.AnalysisServices.Server
$SSASsvr.Connect("Data Source=Localhost")
Invoke-PolicyEvaluation -Policy "Surface Area Configuration for Analysis Services Features.xml" -TargetObject $SSASsvr

Ocena zasady usług raportowania

Do oceny Reporting Services zasady, należy załadować i Zarejestruj się w zestawie sqlps., Utwórz zmienną z Reporting Services połączenie obiektu, a zmienna do -TargetObject parametr.W tym przykładzie przedstawiono oceny najważniejsze wskazówki dotyczące obszar powierzchni konfiguracja zasad Reporting Services:

sl "C:\Program Files\Microsoft SQL Server\100\Tools\Policies\ReportingServices\1033"
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SqlServer.Dmf.Adapters")
$SSRSsvr = new-object Microsoft.SqlServer.Management.Adapters.RSContainer('MyComputer')
Invoke-PolicyEvaluation -Policy "Surface Area Configuration for Reporting Services 2008 Features.xml" -TargetObject $SSRSsvr

Formatowanie danych wyjściowych

Domyślnie, dane wyjściowe Wywołaj PolicyEvaluation jest wyświetlany w oknie wiersz polecenia co zwięzły raport w formacie czytelny dla człowieka.Można użyć -OutputXML parametr, aby określić, że apletu polecenia zamiast przedstawić szczegółowy raport jako plik XML.Wywołaj PolicyEvaluation używa Systems modelowania Interchange Format języka (SML — jeżeli) schematu, więc plik może zostać odczytany przez SML-IF czytników.

sl "SQLSERVER:\SQLPolicy\MyComputer\DEFAULT\Policies"
Invoke-PolicyEvaluation -Policy "Datbase Status" -TargetServer "MYCOMPUTER" -OutputXML > C:\MyReports\DatabaseStatusReport.xml

See Also

Concepts