пятница, 29 марта 2013 г.

После мартовского обновления через Windows Update перестают работать Office Web Apps 2013

Стоит только позавидовать качеству тестирования апдейтов от Microsoft.
Если вы поставите мартовские апдейты на сервер, где хостится Office Web Apps 2013, то можете попрощаться с этим классным сервисом =)
Предположительно это KB2760445 и KB2760486.

Симптомы:
SharePoint, если подружен с Office Web Apps, перестаёт открывать документы в браузере.
На сервере Office Web Apps процессор загружен на 100%.
На сервере Office Web Apps в Event Logs появляется куча ошибок вроде этих:

Faulting application name: BroadcastWatchdog_App.exe, version: 15.0.4481.1000, time stamp: 0x50ee5a9f
Faulting module name: KERNELBASE.dll, version: 6.2.9200.16451, time stamp: 0x50988aa6
Exception code: 0xe0434352
Fault offset: 0x000000000003811c
Faulting process id: 0x132c
Faulting application start time: 0x01ce2c85c757619d
Faulting application path: C:\Program Files\Microsoft Office Web Apps\BroadcastServicesWatchdog_App\BroadcastWatchdog_App.exe
Faulting module path: C:\Windows\system32\KERNELBASE.dll
Report Id: 0592bc59-9879-11e2-93f6-005056884a14
Faulting package full name: 
Faulting package-relative application ID: 
---

Application: BroadcastWatchdog_App.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.TypeInitializationException
Stack:
   at Microsoft.Office.Web.Common.ServiceInstanceFinder.GetLocalAgentInstance(Microsoft.Office.Web.Common.OfficeServiceType)
   at Microsoft.Office.Web.Common.WatchdogHelper.PrepareRegistrations(Microsoft.Office.Web.Common.OfficeServiceType)
   at Microsoft.Office.Web.Common.WatchdogHelper.WatchMachines(Microsoft.Office.Web.Common.OfficeServiceType, CheckServiceInstance, Microsoft.Office.Web.Common.OfficeServiceType, System.String)
   at Microsoft.Office.Server.Broadcast.Watchdog.BroadcastWatchdog_App.BroadcastWatchdog_App.Main()
---

Fault bucket , type 0
Event Name: CLR20r3
Response: Not available
Cab Id: 0

Problem signature:
P1: diskcachewatchdog.exe
P2: 15.0.4481.1000
P3: 50ee5a78
P4: Microsoft.Office.Web.Apps.Environment.WacServer
P5: 15.0.4481.1001
P6: 50f900b0
P7: 60
P8: 9
P9: System.TypeInitialization
P10: 

Attached files:
C:\Windows\Temp\WERF163.tmp.appcompat.txt
C:\Windows\Temp\WERF164.tmp.WERInternalMetadata.xml
C:\Windows\Temp\WERF184.tmp.hdmp
C:\Windows\Temp\WERF03.tmp.dmp

These files may be available here:
C:\ProgramData\Microsoft\Windows\WER\ReportQueue\AppCrash_diskcachewatchdo_f4542e69f36d5ae41063e952fa4d9d1994bd540_cab_0fb01077

Analysis symbol: 
Rechecking for solution: 0
Report Id: 0096f2ce-9879-11e2-93f6-005056884a14
Report Status: 4
Hashed bucket: 




Как починить:
Как всегда просто, нужно пересоздать ферму Office Web Apps - New-OfficeWebAppsFarm
Биндинги на SharePoint/Lync/Exchange пересоздавать не надо, если укажите тот же URL, что и раньше.

вторник, 19 марта 2013 г.

понедельник, 18 марта 2013 г.

Как узнать имя сервера SQL, инстанса и БД, если ферма сдохла и не отвечает

Зайти в реестр (regedit) по следующему пути:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Shared Tools\Web Server Extensions\14.0\Secure\ConfigDB

Либо powershell:
Get-ItemProperty "HKLM:\SOFTWARE\Microsoft\Shared Tools\Web Server Extensions\14.0\Secure\ConfigDB" | Select-Object dsn

четверг, 7 марта 2013 г.

SharePoint 2013 sign in as Different User

Нужно просто зайти на эту ссылку и появится окошки ввода логина/пароля:
/_layouts/closeConnection.aspx?loginasanotheruser=true

Чтобы сделать выпадающий пункт меню:
1. Откройте C:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\TEMPLATE\CONTROLTEMPLATES\Welcome.asсx

2. В секции SharePoint:FeatureMenuTemplate добавьте этот код:

<SharePoint:MenuItemTemplate runat="server" ID="ID_LoginAsDifferentUser" 
Text="<%$Resources:wss,personalactions_loginasdifferentuser%>" 
Description="<%$Resources:wss,personalactions_loginasdifferentuserdescription%>" 
MenuGroupId="100" 
Sequence="100"  UseShortId="true" /> 

3. Теперь пункт появится в меню пользователя.

Скрипт powershell для всех манипуляций (запустить на всех WFE):
$file = "C:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\TEMPLATE\CONTROLTEMPLATES\Welcome.ascx"

$search = "<SharePoint:MenuItemTemplate runat=""server"" id=""ID_Logout"""

$appendText = "<SharePoint:MenuItemTemplate runat=""server"" ID=""ID_LoginAsDifferentUser"" Text=""<%`$Resources:wss,personalactions_loginasdifferentuser%>"" Description=""<`%$Resources:wss,personalactions_loginasdifferentuserdescription%>"" MenuGroupId=""100"" Sequence=""100""  UseShortId=""true"" />"

(get-content $file) | Foreach-Object { if ($_ -match $search) {$appendText} $_} | set-content $file

среда, 6 марта 2013 г.

Открытие портов для SQL Server

Чтоб не потерялось:

netsh advfirewall firewall add rule name = SQLPort dir = in protocol = tcp action = allow localport = 1433 remoteip = localsubnet profile = DOMAIN
netsh advfirewall firewall add rule name = SQLPort dir = in protocol = tcp action = allow localport = 445 remoteip = localsubnet profile = DOMAIN