Существует ли инструмент для конвертации моей последовательности задач Orchestrator Runbook в последовательность задач Orchestrator SMA Runbook?

Я не знаю инструмента, который мог бы выполнить такую конвертацию. Последовательности задач Orchestrator состоят из одного или нескольких процессов в пакете интеграции Integration Packs, которые связаны друг с другом при помощи различных условий для управления процессом исполнения за счет использования дизайнера последовательности задач. Последний представляет собой графический инструмент, позволяющий выбирать действия и переносить их с помощью мыши в область последовательности задач. Общая шина данных помогает в распределении данных между процессами в последовательности задач. Сами по себе пакеты Integration Packs предоставляются из нескольких источников, включая встроенные, от Microsoft и партнеров. Последовательности задач можно экспортировать в формат XML.

Последовательности задач Orchestrator SMA необходимы для рабочих процессов PowerShell, которые используют модули языка сценариев для подключения дополнительных функций. Модули PowerShell берутся из разных источников, включая встроенные в операционную систему Microsoft, и от разных поставщиков. У PowerShell в распоряжении очень богатый набор функций и комплект логических операций. Рабочий поток запускает PowerShell при установке контрольных точек и возобновляет исполнение с контрольной точки в случае аварийной ситуации.

Я считаю, что основное предназначение Orchestrator SMA в том, чтобы поставщики и даже команды Microsoft не были вынуждены поддерживать два отдельных «пакета» функций для интеграции с их технологиями: пакетами Integration Pack для Orchestrator и модулями PowerShell для PowerShell. Учитывая, что модуль PowerShell может использоваться в различных сценариях, таких как управление из командной строки в режиме реального времени, а также в сценариях и рабочих процессах для автоматической работы, для поставщиков имело смысл сконцентрировать внимание на модулях PowerShell. Orchestrator SMA позволяет задействовать модули PowerShell в качестве части рабочих процессов PowerShell, выполняемых обработчиком Orchestrator SMA.

Конвертирование последовательности задач Orchestra­tor в рабочий процесс PowerShell было бы сложной задачей в пакете Integration Pack, а в модуле PowerShell нужно было бы подключать особые команды. Потребовалась бы определенная логика для слияния всех процессов воедино, уточнения, какие данные потребуются впоследствии при выполнении, сохранение переменных и размещение контрольных точек в оптимальных местах. Кроме того, даже если такая конверсия и была бы возможна, сгенерированный рабочий поток PowerShell нельзя было бы оптимизировать, так как в PowerShell существуют различные возможности для выполнения одной задачи. Более того, попытка зеркально отразить последовательность задач Orchestrator в PowerShell будет выглядеть весьма неуклюже.

Мой совет в данном случае такой: задействуйте Orchestrator для развертывания как можно большего количества функций, и используйте PowerShell через действие Run.Net Script. Это поможет при конвертации в рабочие потоки PowerShell впоследствии. Когда придет время конвертации в рабочие процессы PowerShell, составьте план целей, выполняемых последовательностями задач Orchestrator, и используйте его как рабочий процесс высокого уровня, а затем переконструируйте его, используя оптимальные методы, доступные в PowerShell.

Я использую Windows Server в качестве локального шлюза VPN для подсоединения к Azure. Нужно ли выполнить какие-либо специфические настройки на моем локальном шлюзе в операционной системе?

На самом деле это очень простой процесс, поскольку портал Azure создает сценарий PowerShell для запуска на вашей операционной системе Windows Server 2012 (или более новой), который выполняет настройку всех параметров и даже устанавливает RRAS. Требования могут быть предъявлены следующие.

  • Вам понадобится два сетевых соединения: одно общее — с Интернетом, которое соединяет с Azure (это соединение должно быть настроено как шлюз по умолчанию), а второе соединит вас с внутренней сетью (оно не имеет шлюза по умолчанию). Заметьте, что, поскольку внутренний сетевой адаптер не имеет шлюза по умолчанию, вам придется добавить маршруты в другие локальные подсети в целях активации трафика.
  • Создавая шлюз к Azure, убедитесь, что вы выбрали динамический тип шлюза; дождитесь того момента, когда шлюз будет создан и только после этого продолжайте работу.
  • Создав шлюз к Azure один раз, используйте вариант Download VPN Device Script и выберите RRAS. Дождитесь завершения создания шлюза, это позволит заполнить все значения в коде PowerShell, включая IP-адрес Azure и ключ соединения.
  • Запустите загруженный код PowerShell (который может потребовать перезагрузки после активации RRAS; это указано в сценарии).
  • Чтобы проверить статус соединения, используйте команду PowerShell Get-VpnS2 SInterface, которая должна выдать статус Connected («Соединено»). Обратите внимание, что порталу Azure может потребоваться несколько минут для обновления.
  • Если ваш локальный шлюз к Azure не является шлюзом по умолчанию для вашей сети, потребуется обновить таблицы маршрутизации в операционной системе, что необходимо для соединения с Azure через этот шлюз. Например:
Route add -p 10.0.19.0 mask 255.255.255.0 10.0.16.25

Где 10.0.19.0/24 — это подсеть Azure, а 10.0.16.25 — локальный IP-адрес шлюза VPN для Azure в вашей сети.

Как просмотреть в реестре информацию, которая выводится посредством manage-bde?

Этого сделать нельзя. Статус информации BitLocker не сохраняется в реестре. Manage-bde действительно взаимодействует с WMI, особенно с Win32_EncryptableVolume, на предмет получения информации о BitLocker. Вы можете использовать manage-bdе для поиска информации о статусе шифрования дисков. Статья Microsoft TechNet «Win32_EncryptableVolume class» (https://msdn.microsoft.com/en-us/library/windows/desktop/aa376483%28 v=vs.85%29.aspx) включает пример сценария, который выводит всю информацию BitLocker с помощью Win32_EncryptableVolume.

Если вы используете PowerShell, то существуют команды, которые встроены в PowerShell 4.0; они специфичны для BitLocker. Обратитесь к статье Microsoft TechNet «BitLocker Cmdlets in Windows PowerShell» (technet.microsoft.com/en-us/library/jj649829.aspx). Приведу пример кода PowerShell, который показывает информацию BitLocker:

PS C:\> get-bitlockervolume c: | fl
ComputerName: SAVWIN01
MountPoint: C:
EncryptionMethod: Aes128
AutoUnlockEnabled:
AutoUnlockKeyStored: True
MetadataVersion: 2
VolumeStatus: FullyEncrypted
ProtectionStatus: On
LockStatus: Unlocked
EncryptionPercentage: 100
WipePercentage: 0
VolumeType: OperatingSystem
CapacityGB: 223.0537
KeyProtector: {RecoveryPassword, Password}

Как мне посмотреть через PowerShell все доступные роли RBAC для Azure и их возможности?

Приведенный ниже сценарий PowerShell выводит все роли RBAC в Azure и показывает связанные действия:

Switch-AzureMode -Name AzureResourceManager
foreach ($roledef in Get-AzureRoleDefinition) {
Write-Host 'Role: '$roledef.Name
Write-Host 'Actions'
(Get-AzureRoleDefinition -Name $roledef.Name).Actions
Write-Host 'NoActions'
(Get-AzureRoleDefinition -Name $roledef.Name).NoActions
Write-Host ([Environment]:: NewLine)
}

Пример вывода такой:

Role: API Management Service Contributor
Actions
Microsoft.ApiManagement/Services/*
Microsoft.Authorization/*/read
Microsoft.Resources/subscriptions/resourceGroups/read
Microsoft.Resources/subscriptions/resourceGroups/resources/read
Microsoft.Resources/subscriptions/resourceGroups/deployments/*
Microsoft.Insights/alertRules/*
Microsoft.Support/*
NoActions
Role: Application Insights Component Contributor
Actions
Microsoft.Insights/components/*
Microsoft.Insights/webtests/*
Microsoft.Authorization/*/read
Microsoft.Resources/subscriptions/resourceGroups/read
Microsoft.Resources/subscriptions/resourceGroups/resources/read
Microsoft.Resources/subscriptions/resourceGroups/deployments/*
Microsoft.Insights/alertRules/*
Microsoft.Support/*
NoActions

Что такое вариант долгосрочного обслуживания Long Term Servicing Branch и текущего обслуживания Current Branch в Windows?

Windows 10 использует новый подход для предоставления пользователям обновлений. Традиционно Microsoft выпускала версию Windows, а затем предоставляла обновления для системы безопасности и ошибок в компонентах, но не добавляла никаких важных новых функций. Каждые несколько лет компания выпускала очередную версию Windows, которая содержала обновления и новые функции. Но это означало, что покупатели всегда должны были подолгу ждать, чтобы получить новые функции. В Windows 10 корпорация Microsoft предоставляет пользователям большую свободу выбора в том, как они будут получать новые функции, при помощи внедрения вариантов долгосрочного обслуживания (LTSB) и текущего обслуживания (CB).

Вариант LTSB напоминает то, как версии распространяются сейчас: одна версия за пару лет, а между новыми версиями Microsoft будет предоставлять обновления для системы безопасности, модули коррекции ошибок и т. д. Возможен также вариант, когда покупатели могут выбрать использование СВ-метода, который предоставляет обновления для системы безопасности, модули коррекции ошибок и новые функции каждые несколько месяцев.

Когда будет выходить очередная версия в рамках LTSB, она будет соединяться с существующей на сегодня версией СВ, позволяя покупателям переходить с СВ на LTSB в случае, если они решат больше не получать обновления так часто. Покупатели, использующие LTSB, смогут устанавливать обновления между текущими вариантами LTSB и, вероятно, предыдущей версией LTSB (сейчас Windows 8.1 считается обслуживаемой по варианту LTSB). Более наглядно эта идея представлена на рисунке 1.

 

Варианты долгосрочного и текущего обслуживания
Рисунок 1. Варианты долгосрочного и текущего обслуживания

 

Что такое семейство гостевых операционных систем Guest OS Family в Azure?

Azure имеет ряд версий гостевых операционных систем Guest OS Family:

  • 1 — Windows 2008
  • 2 — Windows 2008 R2
  • 3 — Windows 2012
  • 4 — Windows 2012 R2

С течением времени те или иные семейства лишаются поддержки в Azure. Например, сейчас Guest OS Family 1 (Windows 2008) не поддерживается, о чем официально сообщается в документе по адресу: msdn.microsoft.com/en-us/subscriptions/dn750850.

Где я могу получить инструменты поддержки для Windows 10?

Хотя Windows 10 пока представлена только в ознакомительной технической версии, существуют инструменты, которые могут помощь в управлении ею:

  • Windows Server vNext Remote Server Administration Tools for Windows 10 (www.microsoft.com/en-us/download/details.aspx? id=44280);
  • Windows 10 Assessment and Deployment Kit (ADK) (www.microsoft.com/en-us/download/details.aspx? id=45522);
  • Windows Management Framework 5 (www.microsoft.com/en-us/download/details.aspx? id=44987).

Если я создаю виртуальную сеть в Azure при помощи нескольких адресных пространств, будет ли Azure автоматически прокладывать маршруты между ними?

Да. При работе с Azure можно добавлять несколько адресных пространств внутри виртуальной сети Azure, которые могут быть не связаны друг с другом. Например, 10.0.0.0/8 и 192.168.0.0/16 могут быть внутри одной и той же виртуальной сети. Azure будет автоматически прокладывать маршрут между виртуальными машинами, которые являются частью виртуальных подсетей в различных адресных пространствах внутри виртуальной сети. Ничего делать вручную не требуется, Azure выполняет прокладывание маршрута автоматически (см. экран 1).

 

Несколько адресных пространств внутри виртуальной сети Azure
Экран 1. Несколько адресных пространств внутри виртуальной сети Azure

 

Нужен ли при использовании Azure AD Application Proxy локально установленный агент для каждого приложения, которое я публикую, или агент может находиться в общем доступе?

При публикации приложений для общего пользования при помощи Azure AD Application Proxy агент разворачивается локально, что обеспечивает соединение между локальной сетью и Azure. Это позволяет опубликовать локальные приложения для общего доступа. Агент, который разворачивается локально, используется для всех опубликованных приложений и не привязывается к специфическому приложению. Если вы разворачиваете несколько агентов локально, они будут использоваться по циклическому алгоритму для публикации приложений, чтобы обеспечить масштабирование и высокую доступность. На сегодня нет возможности выполнить развертывание специфического агента для публикации только определенных приложений. Агенты будут всегда использоваться для всех опубликованных приложений.

Как мне просмотреть сертификаты в персональном пользовательском хранилище с помощью PowerShell?

Использовать PowerShell для просмотра сертификатов легко. У PowerShell есть провайдер, предоставляющий хранилище сертификатов, который является частью модуля инфраструктуры открытых ключей pki и модуля системы безопасности. Вам не потребуется загружать модули вручную, они загружаются автоматически с PowerShell v3 и более новыми версиями. Чтобы просмотреть сертификаты в локальном пользовательском хранилище я предлагаю использовать:

Set-Location Cert:\CurrentUser\My

Затем, чтобы увидеть сертификаты, просто просмотрите элементы в папке, например:

Get-ChildItem | Format-Table Subject, FriendlyName,
   Thumbprint -AutoSize

Выводятся сертификаты в персональном хранилище с указанием имени субъекта, понятного имени и подписи сертификата.

Обратите внимание, что можно осуществлять навигацию и по другим папкам сертификатов. Вы можете просмотреть сертификаты локальной системы Local Machine и перейдя по ссылке Cert:\LocalMachine.

Я хочу организовать связь с Azure, используя API REST из PowerShell. Как мне это сделать?

Azure изначально функционирует через прикладной программный интерфейс REST. Даже закулисно библиотеки Azure PowerShell вызывают Azure REST API. Вы постоянно используете в PowerShell команды Azure PowerShell, однако может так случиться, что не будет доступной команды, поскольку API REST является новым компонентом, и, возможно, вы хотите осуществлять взаимодействие без обязательной установки модулей Azure PowerShell.

Если вы используете сертификаты для управления доступом к Azure, то вам нужен сертификат управления, доступный во время сессии PowerShell. Если вы хотите задействовать Import-AzurePublishSettingsFile в своей сессии (это означает, что у вас есть установленные команды Azure), попытайтесь сделать следующее:

$sub = (Get-AzureSubscription -Current -ExtendedDetails)
$mgmtCertThumb = $sub.Certificate.Thumbprint
$mgmtCertThumb

Если на выходе есть значение, полпути уже пройдено, вы можете задействовать сертификат, который используется как часть вашей сессии PowerShell. Однако, если вы как обычно используете Azure Resource Manager и команду Add-AzureAccount для аутентификации в Azure, сертификат вам не нужен. Таким образом, самый простой способ — это создание сертификата управления, загрузка в Azure (вы, возможно, захотите установить понятное имя, которое соответствует имени подписки Azure, http://blogs.technet.com/b/pki/archive/2008/12/12/defining-the-friendly-name-certificate-property.aspx), а затем импорт частного ключа (файла pfx) в локальный профиль пользователя (щелкните дважды по файлу PFX и выберите для импорта свою пользовательскую учетную запись). Затем вы можете выбрать и использовать этот сертификат, например для выборки по имени субъекта:

$certName = 'CN=AzureMng2' #Subject name of the certificate
$subcert = (Get-ChildItem Cert:\CurrentUser\My |?{$_.Subject -match "^$certName"}) #fetch the certificate from users certificate store
$mgmtCertThumb = $subcert.Thumbprint #store the thumbprint

Однако, если у вашего сертификата есть понятное имя, которое соответствует названию подписки Azure, вы можете использовать такой код:

$sub = (Get-AzureSubscription -Current -ExtendedDetails)
   #if have connected to Azure subscription already
$subname = $sub.SubscriptionName
#or if you need to get the subscription
$subname = "AzureSubscriptionNameHere"
$sub = Get-AzureSubscription $subname
$subID = $sub.SubscriptionId
$subcert = (Get-ChildItem Cert:\CurrentUser\My
   |?{$_.FriendlyName -match "^$subname"})
   #fetch the certificate from users certificate store
$mgmtCertThumb = $subcert.Thumbprint #store the thumbprint

Выполнение всех этих шагов обеспечит аутентификацию сертификата в Azure. Теперь у вас есть сертификат, и вы создаете заголовок и тело для REST API, а затем вызываете его через Invoke-RestMethod. Например, приведенный ниже код выбирает всех администраторов для подписки Azure, базируясь на выборке из пользовательских сертификатов.

$sub = (Get-AzureSubscription -Current -ExtendedDetails)
$mgmtCertThumb = $sub.Certificate.Thumbprint
$certName = 'CN=AzureMng2'
# API method
$method = "GET"
# API header
$headerDate = '2014-10-01'
$headers = @{"x-ms-version»=»$headerDate"}
# generate the API URI
$subID = $sub.SubscriptionId
$URI = "https://management.core.windows.net/$subID/principals"
# grab the Azure management certificate
$subcert = (Get-ChildItem Cert:\CurrentUser\My |?{$_.Subject
   -match "^$certName"})
$mgmtCertThumb = $subcert.Thumbprint
# execute the Azure REST API
$list = Invoke-RestMethod -Uri $URI -Method $method
   -Headers $headers -CertificateThumbprint $mgmtCertThumb
foreach ($Principal in $list.Principals.Principal)
$mgmtCertThumb = $subcert.Thumbprint
# execute the Azure REST API
$list = Invoke-RestMethod -Uri $URI -Method $method
   -Headers $headers -CertificateThumbprint $mgmtCertThumb
foreach ($Principal in $list.Principals.Principal)
{
if ($principal.Role -eq "CoAdministrator"){
Write-Host $Principal.Email
}
}

Если вы выполняете более сложные вызовы API REST, то вам потребуется элемент базовой части, например изменение размера диска. Обратите внимание на пример, приведенный ниже: вы увидите, что заголовок содержит размер созданной базовой части. Это означает, что определение заголовка идет после определения базового элемента, который использует URI, принадлежащий Update Disk REST API (описано в https://msdn.microsoft.com/en-us/library/azure/jj157205.aspx).

# API method
$method = «PUT»
# generate the API URI
$sub = (Get-AzureSubscription -Current -ExtendedDetails)
$subname = $sub.SubscriptionName
$subID = $sub.SubscriptionId
$certName = 'CN=AzureMng2'
$subcert = (Get-ChildItem Cert:\CurrentUser\My |?{$_.Subject
   -match "^$certName"})
$mgmtCertThumb = $subcert.Thumbprint
$diskName = "win2 k3"
$newSize = 1023
$URI = https://management.core.windows.net/$subID/
   services/disks/$diskName
# create Request Body
$body = '
   '+$diskName+'
   '+$newSize+'
   '
# API header
$headerDate = '2014-10-01'
$headers = @{"x-ms-version"="$headerDate"; "Content-Length"=
   $body.Length};
# execute the Azure REST API
Invoke-RestMethod -Uri $URI -Method $method -Headers
   $headers -CertificateThumbprint $mgmtCertThumb
   -Body $body -contenttype "application/xml"

Если вы хотите использовать аутентификацию Azure AD Authentication, почитайте блог http://blogs.technet.com/b/keithmayer/archive/2014/12/30/authenticating-to-the-azure-service-management-rest-api-using-azure-active-directory-via-powershell-list-azure-administrators.aspx, там есть пример. Ниже показан вывод такого же списка администраторов с использованием AD Authentication вместо сертификата. Обратите внимание, что абонент Azure AD Tenant должен быть владельцем подписки Azure. Посмотрите на соединение с порталом управления Azure после регистрации и выбора нужной подписки. URL показывает абонента, владельца подписки. Например, https://manage.windowsazure.com/@savilltech.net показывает, что моим абонентом Azure AD является savilltech.net. Вашим будет что-то типа. onmicrosoft.com. Если абонент Azure AD не соответствует вам, вы получите сообщение об ошибке во время инициализации метода REST, относящегося к исключению билета безопасности для полученного JWT (JSON Web Token).

# Load ADAL Assemblies
$adal = "${env: ProgramFiles (x86)}\Microsoft SDKs\Azure
   \PowerShell
   \ServiceManagement\Azure\Services\
   Microsoft.IdentityModel.Clients.ActiveDirectory.dll"
$adalforms = "${env: ProgramFiles (x86)}\Microsoft SDKs\Azure\
   PowerShell\ServiceManagement\Azure\Services\
   Microsoft.IdentityModel.Clients.ActiveDirectory.WindowsForms.dll"
[System.Reflection.Assembly]:: LoadFrom ($adal)
[System.Reflection.Assembly]:: LoadFrom ($adalforms)
# Set Azure AD Tenant name
$adTenant = "yourtenant.onmicrosoft.com"
# Set well-known client ID for AzurePowerShell
$clientId = "1950a258-227b-4e31-a9cf-717495945fc2»
# Set redirect URI for Azure PowerShell
$redirectUri = "urn: ietf: wg: oauth:2.0: oob"
# Set Resource URI to Azure Service Management API
$resourceAppIdURI = "https://management.core.windows.net/"
# Set Authority to Azure AD Tenant
$authority = "https://login.windows.net/$adTenant"
# Create Authentication Context tied to Azure AD Tenant
$authContext = New-Object "Microsoft.IdentityModel.Clients.
   ActiveDirectory.AuthenticationContext" -ArgumentList $authority
# Acquire token
$authResult = $authContext.AcquireToken ($resourceAppIdURI,
   $clientId, $redirectUri, "Auto")
# API method
$method = "GET"
# API header
$headerDate = '2014-10-01'
$authHeader = $authResult.CreateAuthorizationHeader ()
# Set HTTP request headers to include Authorization header
$headers = @{"x-ms-version"="$headerDate";
   "Authorization» = $authHeader}
# generate the API URI
$sub = (Get-AzureSubscription -Current -ExtendedDetails)
$subID = $sub.SubscriptionID
$URI = "https://management.core.windows.net/$subID/principals"
# execute the Azure REST API
$list = Invoke-RestMethod -Uri $URI -Method $method
   -Headers $headers
foreach ($Principal in $list.Principals.Principal)
{
if ($principal.Role -eq "CoAdministrator"){
Write-Host $Principal.Email
}
}

Я создал виртуальную сеть Azure Virtual Network с небольшим адресным пространством и теперь мне нужно расширить его. Это возможно?

К сожалению, вы не можете модифицировать адресное пространство для виртуальной сети. Виртуальные подсети Virtual Subnets внутри Virtual Network можно модифицировать, если в подсети нет ресурсов, но адресное пространство виртуальной сети само по себе не может быть модифицировано после того, как оно уже создано. Таким образом, когда вы создаете Virtual Network в Azure, всегда допускайте крен в сторону увеличения адресного пространства. При таком подходе побочного эффекта не будет. Если вы попали в ситуацию, когда вам нужно расширить адресное пространство виртуальной сети, можете попробовать сделать следующее.

  • Создайте новую виртуальную сеть с большим адресным пространством и переместите виртуальные машины в эту новую виртуальную сеть.
  • Удалите все виртуальные машины и шлюзы из виртуальной сети, а затем вновь измените размер пустой виртуальной сети и добавьте виртуальные машины и шлюзы.

Учтите, что оба варианта небезопасны и нежелательны.

Если я активирую синхронизацию паролей из службы каталогов AD в службу Azure, то как часто пароли будут синхронизироваться?

Синхронизация паролей происходит каждые две минуты. Это позволяет гарантировать, что пароли в Azure AD максимально синхронизированы.

Как мне создать защищенный паролем файл PDF при помощи Word?

Недавно мне потребовалось создать защищенный паролем файл PDF в ситуации, когда это было невозможно сделать при помощи приложения Adobe Reader. Как оказалось, в Word предусмотрена возможность защищать файл PDF паролем:

  1. Создайте документ или откройте существующий файл PDF при помощи Word.
  2. В меню File («Файл») выберите Save As («Сохра­нить как»).
  3. Выберите место, куда будет сохранен документ.
  4. Выберите PDF (*.pdf) в качестве типа документа и нажмите Options.
  5. В разделе настроек PDF установите флажок Encrypt the document with a password («Шифровать документ при помощи пароля») (см. экран 2).
  6. Появится запрос на двукратный ввод пароля, затем нажмите кнопку ОК.

 

Защита документа PDF с помощью пароля
Экран 2. Защита документа PDF с помощью пароля

Как я могу управлять службой каталогов Azure AD, используя PowerShell?

Для управления службой каталогов Azure AD при помощи PowerShell необходимы два компонента. Прежде всего, вам нужно загрузить и установить помощника Microsoft Online Services Sign-In Assistant. Этот инструмент вы можете получить по ссылке http://www.microsoft.com/en-us/download/details.aspx? id=41950. Затем загрузите и установите модуль Azure AD Module по ссылке http://go.microsoft.com/fwlink/p/? linkid=236297. Установив оба инструмента, вы сможете использовать новый модуль PowerShell:

Import-Module MSOnline

Затем вам нужно установить соединение с учетной записью Office 365:

Connect-MsolService

В дальнейшем используйте различные доступные команды. Просмотреть их вы можете, воспользовавшись командой:

Get-Command -Module MSOnline

Я реплицирую учетные записи в службу каталогов Azure AD. У меня есть учетные записи, в которых пароль содержит более 16 символов. Что с ними может произойти?

По умолчанию в Azure AD предусмотрена политика, которая описана по адресу: https://msdn.microsoft.com/en-us/library/azure/jj943764.aspx. Данная политика констатирует, что пароли требуемой сложности должны иметь длину минимум 8 и максимум 16 символов. Некоторые организации используют фразы в виде пароля в своих локальных сетях. Это означает, что пароли могут содержать более 16 знаков. Если вы используете Azure AD Connect (который в свою очередь использует Microsoft Identity Manager) для репликации учетных записей локальной службы каталогов в Azure AD, с паролями, содержащими более 16 знаков, произойдет следующее. Будет выполнен запуск репликации паролей в Azure AD, основанной на политике паролей локальной сети. Это означает, что в Azure AD будут использоваться длинные пароли и существующие пароли AD будут продолжать свою работу в Azure AD.

Можно ли ограничить пользователей, применяющих соединение сайт-сайт или точка-сайт, конкретной виртуальной подсетью в виртуальной сети?

Вы не сможете задать определенную виртуальную подсеть в качестве единственной исходной для коммуникации по соединениям, проходящим через исходные соединения сайт-сайт или точка-сайт. Единственное, что можно сделать, — это использовать группы безопасности Network Security Group (NSG). С помощью группы безопасности NSG можно создать определенные правила соединения между виртуальными подсетями и даже конкретными хостами для управления трафиком, который можно блокировать на основе исходного IP-адреса для пула адресов локальной сети или типа точка-сайт.

Я устанавливаю большое количество обновлений Windows Server после того, как в течение ряда месяцев не выполнял запуск службы обновлений, но установка обновлений завершается неудачей, а во время отмены установки обновлений система попадает в бесконечный цикл. Как быть?

Я сталкивался с такой проблемой на ряде систем, которые не обновлял в течение некоторого времени, и нашел особое обновление — KB3032359 (https://support.microsoft.com/en-us/kb/3032359), которое является кумулятивным обновлением Internet Explorer Cumulative Security. Удалите это обновление из списка для установки обновлений, и проблема исчезнет. Примените все остальные обновления за один раз и перезагрузите систему, тогда вы сможете применить обновление для IE (см. экран 3).

 

Выберите обновления, которые вы хотите установить
Экран 3. Выберите обновления, которые вы хотите установить

Могу ли я использовать одну виртуальную сеть Azure в двух разных подписках?

Виртуальная сеть Azure связана с подпиской Azure. Соответственно несколько подписок не могут использовать одну и ту же виртуальную сеть Azure. Решением является создание отдельных виртуальных сетей в каждой из подписок Azure. При этом каждая виртуальная сеть должна иметь свое адресное IP-пространство. Тогда впоследствии вы сможете соединить отдельные виртуальные сети Azure в различных подписках вместе, используя шлюз типа сайт-сайт в Azure (или ExpressRoute), который может служить для соединения виртуальных сетей. Важно при использовании этого подхода иметь в виду различные ограничения, связанные с пропускной способностью межсетевого шлюза VPN типа сайт-сайт в Azure, так как он ограничивает пропускную способность между виртуальными сетями. Этот подход иллюстрирует рисунок 2.

 

Схема соединения виртуальных сетей Azure
Рисунок 2. Схема соединения виртуальных сетей Azure

Другие варианты, которые можно применить, включают программно-аппаратные устройства шлюзов виртуальных сетей, запускаемые внутри Azure.

Если я работаю с Azure RMS, могу ли я применять эту службу вместе с локальными службами, которые используют RMS?

Если у вас все в «облаке», то вы, вероятно, используете Office 365, предоставляющий службы Exchange, SharePoint, Lync и им подобные, для которых компания Microsoft является поставщиком услуг. Все они легко интегрируются со службой каталогов Azure AD и такими службами, как Azure RMS, что позволяет использовать Azure RMS для защиты данных, передаваемых через эти «облачные» службы. А что если у вас не все в «облаке»? Вы используете Azure AD и хотите задействовать Azure RMS, но, возможно, у вас все еще есть локальные системы SharePoint или Exchange. Возможно, вы используете инфраструктуру File Server Resource Manager File Classification Infrastructure (FSRM FCI) и хотите применить шаблоны RMS к определенным классификациям данных. Как в такой ситуации использовать Azure RMS? На самом деле решение очень простое.

У Microsoft есть коннектор управления правами Azure Rights Management Connector, который запускается локально и, по сути, «обманывает» локальную инфраструктуру, предоставляя ей фактически инфраструктуру RMS. В действительности же коннектор предоставляет интерфейс с Azure RMS, которая и обеспечивает работу службы RMS. Это позволит FCI в локальной сети взаимодействовать с развернутой Azure RMS. Azure RMS Connector не содержит действительных ключей и не осуществляет функции хранения журналов, а действует в качестве посредника для ваших локальных служб к Azure RMS в «облаке». Вы можете найти информацию о развертывании коннектора RMS Connector по адресу: https://technet.microsoft.com/en-us/library/dn375964.aspx.

Я хочу сравнить объекты, используя PowerShell. Как это сделать?

Для сравнения объектов может применяться команда Compare-Object. Например:

$sourceFile = ‘D:\Temp\bulb.gif’
$sourceFile = ‘D:\Temp\bulb2.gif’
$sourceContent = Get-Content $sourceFile
$targetContent = Get-Content $targetFile
If ((Compare-Object -referenceobject $sourceContent
   -differenceobject $targetContent) -ne $null) {
Write-Output "The files are different"
}

Другой вариант предназначен для проверки, различаются ли значения хеша для файлов. Например:

$sourceFile = ‘D:\Temp\bulb.gif’
$targetFile = ‘D:\Temp\bulb2.gif’
if ((get-filehash $sourceFile).hash -ne (get-filehash $targetFile).hash) {
Write-Output "The files are different"
}

Существует ли простой способ создания нового шаблона для использования в Azure RemoteApp?

Azure RemoteApp предоставляет простой способ публикации приложений на многих типах устройств. Хотя шаблон для публикации набора приложений Office доступен по умолчанию, можно создать и собственный шаблон, основанный на Windows Server 2012 R2, который содержит приложения, которые вы хотите опубликовать. Параметры настроек этого шаблона заданы так, чтобы соответствовать требованиям Azure RemoteApp и чтобы его затем можно было загружать в Azure. Полностью весь процесс описан по адресу: http://azure.microsoft.com/en-us/documentation/articles/remoteapp-create-custom-image/. Но есть и другой, более простой способ.

На сегодня Microsoft поддерживает создание нового образа шаблона RemoteApp непосредственно в Azure, и описание этого процесса можно найти здесь: http://blogs.msdn.com/b/rds/archive/2015/03/17/how-to-create-a-remoteapp-template-image-in-azure.aspx и http://azure.microsoft.com/en-us/documentation/articles/remoteapp-image-on-azurevm/.

У меня есть моментальный снимок виртуальной машины в Hyper-V, который я не могу удалить с помощью Hyper-V Manager. Как его удалить?

Если вы запускаете команду Get-VMSnapshot -VMName, вы можете увидеть моментальный снимок, который относится к типу Recovery («Восстановление»), а в Hyper-V Manager не предусмотрена возможность его удаления. Более того, если вы постараетесь и вручную запустите Remove-VMSnapshot -VMName, ошибки не появится, но моментальный снимок не удалится. Решением будет запуск команды:

Get-VMSnapshot -VMName | Remove-VMSnapshot

Если у вас имеется несколько снимков, к Get-VMSnapshot вы можете добавить параметр -Name.

У меня имеется подписка на Office 365. Как мне получить версию, которую я смогу запустить на своем компьютере локально?

Если у вас есть подписка на Office 365, вы можете не только получить доступ к онлайн-версиям Office, но и установить Office локально на своем компьютере. Для установки перейдите по ссылке http://www.office.com/. Вы окажетесь в окне управления. Здесь есть вариант Install office («Установить Office») при помощи механизма Click-to-run («Щелкнуть для запуска»), который использует технологию App-V для минимизации дискового пространства на компьютере и запуска автоматической установки. В окне управления также есть информация о клиентах для других платформ.

Как мне поделить общий том кластера Cluster Shared Volume между несколькими кластерами?

Cluster Shared Volume может использоваться только в рамках конкретного кластера. Для CSV один узел является координатором для тома и выполняет все изменения метаданных для тома от имени других томов. Запросы к метаданным передаются через сеть кластера. В режиме перенаправления даже операция прямого ввода-вывода может быть отослана координатору через сеть кластера. Если вам нужно использовать CSV вне одного кластера, единственной возможностью является хостирование тома с помощью кластера файловых служб. Затем нужно предоставить том в общий доступ, используя SMB, для других серверов и кластеров. При помощи SMB 3.0 приложения, такие как SQLServer и Hyper-V, поддерживаются по SMB. Пример такого варианта показан на рисунке 3. При использовании этого подхода CSV доступен на всем предприятии.

 

Доступ к Cluster Shared Volume из нескольких кластеров
Рисунок 3. Доступ к Cluster Shared Volume из нескольких кластеров