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.