Поделиться через


Invoke-PolicyEvaluation

Вызывает одну или несколько вычислений политики управления на основе политик SQL Server.

Синтаксис

ConnectionProcessing

Invoke-PolicyEvaluation
    [-Policy] <PSObject>
    -TargetServerName <PSObject>
    [-AdHocPolicyEvaluationMode <AdHocPolicyEvaluationMode>]
    [-TargetExpression <String>]
    [-OutputXml]
    [<CommonParameters>]

ObjectProcessing

Invoke-PolicyEvaluation
    [-Policy] <PSObject>
    -TargetObjects <PSObject[]>
    [-AdHocPolicyEvaluationMode <AdHocPolicyEvaluationMode>]
    [-OutputXml]
    [<CommonParameters>]

Описание

Командлет Invoke-PolicyEvaluation оценивает одну или несколько политик управления на основе политик по набору объектов SQL Server, именованных в целевом наборе. Политики указывают допустимые значения для различных свойств, связанных с объектами SQL Server, таких как установка стандартов сайта для имен баз данных или параметров сортировки. Когда этот командлет выполняется в режиме проверки, он сообщает, соответствуют ли текущие свойства объектов в целевом наборе правилам в определениях политики. Объекты в целевом наборе не настраиваются, если их свойства не соответствуют политикам. В режиме настройки этот командлет перенастройки всех объектов в целевом наборе, которые не соответствуют определениям политики.

Примеры

Пример 1. Оценка политики на экземпляре компьютера по умолчанию

PS C:\> Set-Location "C:\Program Files (x86)\Microsoft SQL Server\130\Tools\Policies\DatabaseEngine\1033"
PS C:\> Invoke-PolicyEvaluation -Policy "Trustworthy Database.xml" -TargetServer "MYCOMPUTER"

Эта команда оценивает политику в экземпляре по умолчанию указанного компьютера. Политика считывается из XML-файла и подключение проходит проверку подлинности с помощью проверки подлинности Windows.

Пример 2. Оценка политик из XML-файлов

PS C:\> Set-Location "C:\Program Files (x86)\Microsoft SQL Server\130\Tools\Policies\DatabaseEngine\1033"
PS C:\> Get-ChildItem "Database Status.xml", "Trustworthy Database.xml" | Invoke-PolicyEvaluation -TargetServer "MYCOMPUTER"

Эта команда считывает две политики из XML-файлов в папке, а затем передает их в Invoke-PolicyEvaluation с помощью оператора конвейера.

Пример 3. Оценка политик и форматирование выходных данных в соответствии с схемой SML-IF

PS C:\> Set-Location "C:\Program Files (x86)\Microsoft SQL Server\130\Tools\Policies\DatabaseEngine\1033"
PS C:\> Invoke-PolicyEvaluation -Policy "Database Status.xml" -TargetServer "MYCOMPUTER" -OutputXML > C:\MyReportFolder\MyReport.xml

Эта команда вычисляет политику и форматирует выходные данные с помощью схемы "Формат обмена языка моделирования служб" (SML-IF) . Выходные данные перенаправляются в файл.

Пример 4. Оценка отфильтрованного набора политик

PS C:\> Set-Location "SQLSERVER:\SQLPolicy\MYCOMPUTER\DEFAULT\Policies"
PS C:\> Get-ChildItem | Where-Object { $_.PolicyCategory -eq "Microsoft Best Practices: Maintenance" } | Invoke-PolicyEvaluation -TargetServer 'MYCOMPUTER'

Первая команда задает текущий путь к хранилищу политик SQL Server. Вторая команда использует Get-ChildItem для чтения всех полиций, а затем использует Where-Object для фильтрации списка политик, имеющих свойство PolicyCategory, для которого задано значение "Рекомендации Майкрософт: обслуживание". Выходные данные отправляются в Invoke-PolicyEvaluation с помощью оператора конвейера.

Пример 5. Оценка политик из XML-файлов с помощью объекта SqlStoreConnection

PS C:\> Set-Location "C:\Program Files (x86)\Microsoft SQL Server\130\Tools\Policies\DatabaseEngine\1033"
PS C:\> $Connection = New-Object Microsoft.SqlServer.Management.Sdk.Sfc.SqlStoreConnection("server='MYCOMPUTER';Trusted_Connection=True")
PS C:\> Invoke-PolicyEvaluation -Policy "Database Status.xml" -TargetServer $Connection

Первая команда задает текущее расположение локальной папке, содержащей evaulations политики в XML-файлах. Вторая команда использует New-Object для создания объекта SqlStoreConnection . Третья команда вычисляет политику из XML-файла с сервером, определенным объектом SqlStoreConnection .

Пример 6. Оценка политики с помощью загруженной вручную сборки

PS C:\> Set-Location "C:\Program Files (x86)\Microsoft SQL Server\130\ tools\Policies\analysisservices\1033"
PS C:\> [System.Reflection.Assembly]::LoadWithPartialName("Microsoft.AnalysisServices")
PS C:\> $SSASsvr = New-Object Microsoft.AnalysisServices.Server
PS C:\> $SSASsvr.Connect("Data Source=localhost")
PS C:\> Invoke-PolicyEvaluation "Surface Area Configuration for Analysis Services Features.xml" -TargetObject $SSASsvr

Первая команда задает текущее расположение папки. Вторая команда загружает экземпляр сборки СЛУЖБ SQL Server Analysis Services. Третья команда создает объект Microsoft.AnalysisServices . Четвертая команда использует новый объект AnalysisServices для открытия подключения к экземпляру сервера по умолчанию на локальном компьютере. Пятая команда оценивает политику конфигурации поверхностной области служб Analysis Services.

Пример 7. Оценка отфильтрованного набора политик

PS C:\> Set-Location "C:\Program Files (x86)\Microsoft SQL Server\120\Tools\Policies\DatabaseEngine\1033"
PS C:\> Invoke-PolicyEvaluation "Database Status.xml" -TargetServer "MYCOMPUTER" -TargetExpression "Server[@Name='MYCOMPUTER']/Database[@Name='AdventureWorks2014']"

Эта команда использует параметр TargetExpression , чтобы указать выражение запроса, которое фильтрует политику состояния базы данных, вычисляется в примере базы данных AdventureWorks2014 и выполняет оценку.

Пример 8. Оценка политики конфигурации поверхностной области служб Reporting Services

PS C:\> Set-Location "C:\Program Files (x86)\Microsoft SQL Server\120\Tools\Policies\ReportingServices\1033"
PS C:\> [System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SqlServer.Dmf.Adapters")
PS C:\> $SSRSsvr = New-Object Microsoft.SqlServer.Management.Adapters.RSContainer('MyComputer')
PS C:\> Invoke-PolicyEvaluation -Policy "Surface Area Configuration for Reporting Services 2008 Features.xml" -TargetObject $SSRSsvr

Эта команда загружает сборку СЛУЖБ SQL Server Reporting Services, создает подключение к экземпляру сервера по умолчанию на локальном компьютере и запускает политику конфигурации рабочей области служб Reporting Services.

Параметры

-AdHocPolicyEvaluationMode

Задает режим оценки политики adhoc. Допустимые значения:

  • Проверка. Сообщите о состоянии соответствия целевого набора с помощью учетных данных учетной записи входа и без перенастройки объектов.
  • CheckSqlScriptAsProxy. Запустите отчет проверки с помощью учетных данных учетной записи прокси-сервера ##MS_PolicyTSQLExecutionLogin##.
  • Настроить. Перенастройка объектов целевого набора, которые не соответствуют политикам, и сообщите о полученном состоянии. Этот командлет перенастраивает свойства, которые являются наборными и детерминированными.

Свойства параметра

Тип:AdHocPolicyEvaluationMode
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-OutputXml

Указывает, что этот командлет создает свой отчет в формате XML с помощью схемы формата обмена языком моделирования служб (SML-IF) .

Свойства параметра

Тип:SwitchParameter
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-Policy

Указывает одну или несколько политик для оценки. Политики можно хранить в экземпляре ядра СУБД SQL Server или как экспортированные XML-файлы. Для политик, хранящихся в экземпляре ядра СУБД, используйте путь, основанный на папке SQLSERVER:\SQLPolicy, чтобы указать расположение полиции. Для политик, хранящихся в виде XML-файлов, используйте путь к файловой системе, чтобы указать расположение политик.

Этот параметр может принимать строку, указывающую имена одной или нескольких политик для вычисления. Если в строке указан только имя файла или политики, этот командлет использует текущий путь. Для политик, хранящихся в экземпляре ядра СУБД, используйте имя политики, например "Состояние базы данных" или "SQLSERVER:\SQLPolicy\MyComputer\DEFAULT\Policies\Database Status". Для политик, экспортируемых в виде XML-файлов, используйте имя файла, например "База данных Status.xml" или "C:\MyPolicyFolder\Database Status.xml".

Этот параметр может принимать набор объектов FileInfo , например выходные данные Get-ChildItem , выполняемые в папке, содержащей экспортированные политики XML. Этот параметр также может принимать набор объектов Политики , таких как выходные данные Get-ChildItem , выполняемые с помощью пути SQLSERVER:\SQLPolicy.

Свойства параметра

Тип:PSObject
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:1
Обязательно:True
Значение из конвейера:True
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-TargetExpression

Указывает запрос, возвращающий список объектов, определяющих целевой набор. Запросы указываются как строка с узлами, разделенными символом /. Каждый узел находится в формате ObjectType[Filter].

ObjectType является одним из объектов в объектной модели объектов sql Server Management Object (SMO), а фильтр — это выражение, которое фильтрует определенные объекты на этом узле. Узлы должны соответствовать иерархии объектов SMO. Например, следующее выражение запроса возвращает пример базы данных AdventureWorks: Server\[@Name='MyComputer'\]/Database\[@Name='AdventureWorks'\]

Если задан TargetExpression , не указывайте TargetObject.

Свойства параметра

Тип:String
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

ConnectionProcessing
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-TargetObjects

Задает набор объектов SQL Server, для которых вычисляется политика. Чтобы подключиться к экземпляру служб АНАЛИЗА SQL Server, укажите объект Microsoft.AnalysisServices.Server для TargetObject.

Если задан TargetObject , не указывайте TargetExpression.

Свойства параметра

Тип:

PSObject[]

Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

ObjectProcessing
Position:Named
Обязательно:True
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-TargetServerName

Указывает экземпляр ядра СУБД, содержащего целевой набор. Можно указать переменную, содержащую объект Microsoft.SqlServer.Management.Sfc.Sdk.SQLStoreConnection . Можно также указать строку, которая соответствует форматам, используемым в свойстве ConnectionString класса System.Data.SqlClient.SQLConnection . К ним относятся строки, такие как созданные с помощью класса System.Data.SqlClient.SqlConnectionStringBuilder . По умолчанию этот командлет подключается с помощью проверки подлинности Windows.

Свойства параметра

Тип:PSObject
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

ConnectionProcessing
Position:Named
Обязательно:True
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

CommonParameters

Этот командлет поддерживает общие параметры: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction и -WarningVariable. Дополнительные сведения см. в разделе about_CommonParameters.