Доступ к содержимому - Средство диагностики - Приложение

Microsoft.AppVirtualization.Server.45.VirtualApplicationServer.ContentDataAccess_NewDiagnoser_Application (UnitMonitor)

Узел доступа к содержимому контролирует возможность сервера Application Virtualization Management Server получать доступ к каталогу содержимого, который может быть локальным или сетевым, и выполнять чтение запрошенных файлов. В каталоге содержимого хранятся пакеты, в том числе файлы с расширением SFT.

Knowledge Base article:

Сводка

Узел доступа к содержимому контролирует возможность сервера Application Virtualization Management Server получать доступ к каталогу содержимого, который может быть локальным или сетевым, и выполнять чтение запрошенных файлов. В каталоге содержимого хранятся пакеты, в том числе файлы с расширением SFT.
Средство диагностики

Проблемы с доступом к содержимому возникают при выполнении одного из следующих условий.
  1. Недопустимый путь к каталогу содержимого.
  2. Учетная запись входа Application Virtualization Server не имеет соответствующих разрешений для каталога содержимого.
  3. Недостаточно места на диске или проблемы с оборудованием при доступе к содержимому.

Проблемы с доступом к содержимому главным образом связаны с разрешениями на доступ к общему содержимому. Расположение каталога содержимого указано в разделе реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SoftGrid\4.5\Server\SOFTGRID_CONTENT_DIR.

По умолчанию используется следующий путь к каталогу содержимого: %ProgramFiles%\Microsoft System Center App Virt Management Server\App Virt Management Server\content

Путь к каталогу содержимого настраивается в локальном реестре сервера Application Virtualization Server и базе данных Application Virtualization. При запуске службы Application Virtualization Management Server выполняется попытка подключения к пути, указанному в реестре. Если службе Application Virtualization Server не удается подключиться к пути, указанному в реестре, служба пытается подключиться к пути, указанному в базе данных Application Virtualization. Если службе Application Virtualization Server снова не удается подключиться, служба не запускается.
 
По умолчанию учетной записью входа службы Application Virtualization Server является NETWORK SERVICE. Учетная запись входа Application Virtualization Server требует разрешение на чтение каталога содержимого. Если путь к каталогу содержимого указан в формате UNC, учетная запись входа Application Virtualization Server требует разрешение на чтение для совместного доступа. Если учетная запись входа Application Virtualization Server не имеет соответствующих разрешений, служба не запускается.
 
Чтобы убедиться, что учетная запись входа Application Virtualization Server имеет соответствующие разрешения для каталога содержимого, выполните следующие действия.
 
Определите учетную запись входа службы Application Virtualization Management Server. Для этого выполните следующие действия.
  1. Откройте «Панель управления» > «Администрирование» > «Службы».
  2. Правой кнопкой мыши щелкните Application Virtualization Server и выберите «Свойства».
  3. Перейдите на вкладку «Вход в систему».
  4. Если данная учетная запись выбрана в разделе «Вход в систему как», обратите внимание на учетную запись в поле «Указанная учетная запись» (по умолчанию NETWORK SERVICES). Если выбрана учетная запись локальной системы, служба Application Virtualization Server запускается от имени учетной записи локальной системы (SYSTEM). 
  5. Если путь к каталогу содержимого указан в формате UNC, используйте учетную запись локального компьютера Application Virtualization Server для предоставления разрешений.
  6. Закройте «Службы».
Убедитесь, что учетная запись Application Virtualization Server имеет разрешение на чтение каталога содержимого. Для этого выполните следующие действия.
  1. Откройте проводник Microsoft Windows.
  2. Перейдите к каталогу содержимого.
  3. Правой кнопкой мыши щелкните папку содержимого и выберите «Свойства».
  4. Откройте вкладку «Безопасность».
  5. Убедитесь, что учетная запись, выбранная при выполнении шага 1, имеет разрешение на чтение. В противном случае установите флажок «Разрешить».
  6. Щелкните «ОК» и закройте проводник Windows.
  7. Убедитесь, что учетная запись, выбранная при выполнении шага 1, имеет разрешение на чтение. Если учетная запись не имеет разрешения на чтение, установите флажок «Разрешить».
  8. Щелкните «ОК» и закройте проводник Windows.
Если путь к каталогу содержимого указан в формате UNC, убедитесь, что учетная запись входа Application Virtualization Server имеет разрешение на чтение для совместного доступа. Для этого выполните следующие действия.
  1. Откройте проводник Microsoft Windows.
  2. Перейдите к каталогу содержимого.
  3. Правой кнопкой мыши щелкните папку содержимого и выберите «Свойства».
  4. Откройте вкладку «Общий доступ».
  5. Убедитесь, что учетная запись, выбранная при выполнении шага 1, имеет разрешение на чтение. В противном случае щелкните «Разрешения» и установите флажок «Разрешить» для чтения.
  6. Щелкните «ОК» и закройте проводник Windows.

Element properties:

TargetMicrosoft.AppVirtualization.Server.45.VirtualApplicationServer
Parent MonitorMicrosoft.AppVirtualization.Server.45.ContentDataAccess_HWS.HealthState
CategoryEventCollection
EnabledTrue
Alert GenerateTrue
Alert SeverityMatchMonitorHealth
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.Windows.SingleEventLogManualReset2StateMonitorType
RemotableTrue
AccessibilityPublic
Alert Message
Доступ к содержимому - Средство диагностики - Приложение
{0}
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.AppVirtualization.Server.45.VirtualApplicationServer.ContentDataAccess_NewDiagnoser_Application" Accessibility="Public" Target="Microsoft.AppVirtualization.Server.45.VirtualApplicationServer" TypeID="Windows!Microsoft.Windows.SingleEventLogManualReset2StateMonitorType" ParentMonitorID="Microsoft.AppVirtualization.Server.45.ContentDataAccess_HWS.HealthState">
<Category>EventCollection</Category>
<AlertSettings AlertMessage="Microsoft.AppVirtualization.Server.45.VirtualApplicationServer.ContentDataAccess_NewDiagnoser_Application.Alert">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>MatchMonitorHealth</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Data/Context/EventDescription$</AlertParameter1>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="EventRaised" MonitorTypeStateID="EventRaised" HealthState="Error"/>
<OperationalState ID="ManualResetEventRaised" MonitorTypeStateID="ManualResetEventRaised" HealthState="Success"/>
</OperationalStates>
<Configuration>
<ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<LogName>Application</LogName>
<Expression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">Application Virtualization Server</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<Or>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">44899</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">44900</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</Or>
</Expression>
</And>
</Expression>
</Configuration>
</UnitMonitor>