Фуёвый менеджмент
aynyuh
От сокращения FYI:
FYI — For Your Information (рус. К вашему сведению) или FYI — For Your Interest (рус. Вам будет любопытно)
Вид управления людьми и процессами уполномоченным или вышестоящим лицом, которое не в состоянии выполнять свои обязанности в силу одной или нескольких причин: некомпетентности в вопросе, флегматичности, управленческой импотенции, загруженности по другим вопросам. Выражается в основном в нежелании погружаться в процесс или возникающие проблемы. Участие в управлении ограничивается в большинстве случаев бездумной пересылкой писем с припиской FYI или "Посмотри", "Разберись" или делегированием в стиле "Обратись к Васе".

Атрибуты прямой и обратной ссылки
aynyuh
Если вы когда-нибудь задумывались о том, почему в конце некоторых атрибутов стоит абревиатура BL, то знайте -- это сокращение от Backlink. Как минимум это означает, что значение этого атрибута ссылается на какой-то другой атрибут другого объкта. Но также отсутствие BL в имени не означает, что это не обратный атрибут.



https://blogs.technet.microsoft.com/deds/2009/09/21/windows-server-2008-r2-recycle-bin-und-linked-attributes/

Таблица атрибутов прямых и обатных ссылок ниже:
Forward Link Attribute linkID Back Link Attribute Linked
member 2 memberOf 3
manager 42 directReports 43
owner 44 ownerBL 45
siteObject 46 siteObjectBL 47
nonSecurityMember 50 nonSecurityMemberBL 51
queryPolicyObject 68 queryPolicyBL 69
privilegeHolder 70 isPrivilegeHolder 71
managedBy 72 managedObjects 73
hasPartialReplicaNCs 74
hasMasterNCs 76 masteredBy 77
syncMembership 78
serverReference 94 serverReferenceBL 95
bridgeheadTransportList 98 bridgeheadServerListBL 99
netbootServer 100 netbootSCPBL 101
frsComputerReference 102 frsComputerReferenceBL 103
fRSMemberReference 104 fRSMemberReferenceBL 105
fRSPrimaryMember 106
siteLinkList 142
siteList 144
msCOM-PartitionLink 1040 msCOM-PartitionSetLink 1041
msDS-NC-Replica-Locations 1044
msFRS-Hub-Member 1046
msCOM-UserPartitionSetLink 1048 msCOM-UserLink 1049
msDS-SDReferenceDomain 2000
msDS-HasInstantiatedNCs 2002
msDS-NonMembers 2014 msDS-NonMembersBL 2015
msDS-MembersForAzRole 2016 msDS-MembersForAzRoleBL 2017
msDS-OperationsForAzTask 2018 msDS-OperationsForAzTaskBL 2019
msDS-TasksForAzTask 2020 msDS-TasksForAzTaskBL 2021
msDS-OperationsForAzRole 2022 msDS-OperationsForAzRoleBL 2023
msDS-TasksForAzRole 2024 msDS-TasksForAzRoleBL 2025
msDS-HasDomainNCs 2026
msSFU30PosixMember 2030 msSFU30PosixMemberOf 2031
msDS-hasMasterNCs 2036 msDs-masteredBy 2037
msDS-ObjectReference 2038 msDS-ObjectReferenceBL 2039
msDFSR-ComputerReference 2050 msDFSR-ComputerReferenceBL 2051
msDFSR-MemberReference 2052 msDFSR-MemberReferenceBL 2053
Источник https://technet.microsoft.com/en-us/library/2007.04.adrecovery.aspx

Руководство по установке и настройке лаборатории для разработки на Sharepoint 2016
aynyuh
Кстати, команда Critical Path Training также имеет руководство по установке и настройке Sharepoint 2016 для девелоперской машины. Оно впервую очередь предназначено для студентов онлайн-курсов, которые выпускает компания, и содержит специфичные моменты по настройке и именованию. Но оно всё равно вполне может служить руководством по инсталяции демо-лаборатории Sharepoint 2016.

https://github.com/CriticalPathTraining/SharePoint2016VmSetupGuide

Ограничение на размер фотографии пользователя в Exchange Online
aynyuh
Проблема
В гибридной схеме работы Exchange или при первоначальной миграции, фотографии некоторых пользователей не отображаются в сервисах Office 365. При этом атрибут thumbnailPhoto в Azure AD и локальном AD заполнен:



Объяснение от Microsoft
В KB3062745: User photos aren't synced from the on-premises environment to Exchange Online in a hybrid deployment такое поведение задокументировано: при синхронизации атрибута thumbnailPhoto между Azure AD и почтовым ящиком Exchange Online, изображения размером более 10КБ не синхронизируются.

Что делать?
Конечно же использовать Powershell! Использовать командлет Set-UserPhoto, который позволяет загружать фото размером больше чем 10КБ. Примерный код применения изображений всем пользователям представлен ниже:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11


$cred = Get-Credential -Message 'O365 ADM:' -UserName 'administrator@<tenant name>.onmicrosoft.com'
$Session = New-PSSession -ConfigurationName Microsoft.Exchange `
    -ConnectionUri 'https://outlook.office365.com/powershell-liveid/?proxyMethod=RPS' `
    -Credential $cred -Authentication Basic -AllowRedirection
Import-PSSession $Session

Connect-MsolService -Credential $cred

Get-ADUser -LDAPFilter '(thumbnailPhoto=*)' -Properties thumbnailPhoto -Server '<domainname>' -SearchScope Subtree | %{
    Set-UserPhoto -Identity $_.UserPrincipalName -PictureData $_.thumbnailPhoto -Confirm:$false
}


Это общий пример, который не подразумевает фильтрацию и проверку наличия пользовательского ящика в Office 365 или не проверяет наличие фотографии, а просто заменяет её.

Обратите внимание на параметр ?proxyMethod=RPS в URL в параметре ConnectionUri в третьей строке – подключение к powershell proxy таким образом позволяет загрузить изображение большого размера, иначе будет ошибка:


Проверить у каких учётных записей фотографии заведомо не будут синхронизированы через Azure AD Connect можно так:

Get-ADUser -LDAPFilter '(thumbnailPhoto=*)' -Properties thumbnailPhoto -Server '<domainname>' -SearchScope Sub
tree | %{ if ($_.thumbnailPhoto.Length -gt 10KB) { $_ } } | sort Surname | select Surname, GivenName, SamAccountName, @
{Name="PhotoSize"; Expression={$_.thumbnailPhoto.Length}}, DistinguishedName | ft


Код выводит имя пользователя и размер изображения, если оно больше 10КБ.

Причина
Как всегда – лень индусов программистов. Мои догадки на этот счёт.

Изначально было понятно, что это не ограничение атрибута фотографии объекта получателя в самом Exchange. Первым под подозрение попал софт синхронизации, но максимальный размер атрибута thumbnailPhoto в Metaverse я сразу отмёл, т.к. он может вмещать до 2ГБ – его тип Binary (non-indexable), тем более что фотографии всё-таки "долетают" до облака.



Атрибут thumbnailPhoto в Active Directory имеет максимальный разме 100КБ (см. Picture attribute MDSN), а не 10КБ. Поэтому он тоже не влияет.


Единственное ограничение на размер изображения в 10КБ встречается в Exchange в командлете Import-RecipientDataProperty, свойство Picture. И это очень похоже на причину.

По информации википедии Exchange Online стал частью Office 365 в 2011 г., а на тот момент продуктивной веткой был Exchange 2010, потому что первый релиз Exchange 2013 состоялся позже – 3-го декабря 2012 года. Вероятно, код импорта и синхронизации писался в то время и основывался на возможностях Exchange 2010, в котором был только командлет Import-RecipientDataProperty и не было Set-UserPhoto. И даже когда внутренняя инфраструктура была переведена на базу Exchange 2013/2016, механизм импорта изображений, скорее всего, не был тронут, импорт оставили через "устаревший" командлет. Отсюда и ограничение на изображение размером 10КБ.

Сначала я думал, что такое ограничение 10КБ несёт какой-то скрытый смысл, который мне непонятен. Благодаря .NET у каждого есть возможность это проверить. К сожалению, это ограничение зашито (убейте не понимаю зачем) в коде командлета Import-RecipientDataProperty без явных на то причин.

Внимание на переменную MaxJpegSize в строке 12, а также на 19-ю строку и саму проверку в строке 37 метода ValidateJPEGFile:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53


// Decompiled with JetBrains decompiler
// Type: Microsoft.Exchange.Management.RecipientTasks.ImportRecipientDataProperty
// Assembly: Microsoft.Exchange.Management.Recipient, Version=15.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
// MVID: 04D2E46F-480B-4EBF-A425-E9EAF93C24D0
// Assembly location: <...>\Microsoft.Exchange.Management.Recipient.dll

namespace Microsoft.Exchange.Management.RecipientTasks
{
  [Cmdlet("Import", "RecipientDataProperty", DefaultParameterSetName = "ImportPicture", SupportsShouldProcess = true)]
  public sealed class ImportRecipientDataProperty : RecipientObjectActionTask<MailboxUserContactIdParameter, ADRecipient>
  {
    internal static readonly ByteQuantifiedSize MaxJpegSize = ByteQuantifiedSize.FromKB(10UL);
    
 ...
 
    protected virtual void InternalValidate()
    {
      if (this.Picture.IsPresent)
        this.ValidateJPEGFile(this.FileData);
      else if (this.SpokenName.IsPresent)
        this.ValidateWMAFile(this.FileData);
      else
        ((Task) this).WriteError((Exception) new LocalizedException(Strings.ErrorUseDataPropertyNameParameter), ErrorCategory.InvalidData, (object) null);
      base.InternalValidate();
    }

    private void ValidateJPEGFile(byte[] jpegFileData)
    {
      try
      {
        using (Stream stream = (Stream) new MemoryStream(jpegFileData))
        {
          long length = stream.Length;
          ByteQuantifiedSize maxJpegSize = ImportRecipientDataProperty.MaxJpegSize;
          // ISSUE: explicit reference operation
          long bytes = (long) ((ByteQuantifiedSize) @maxJpegSize).ToBytes();
          if ((ulong) length > (ulong) bytes)
            ((Task) this).WriteError((Exception) new ArgumentException(LocalizedString.op_Implicit(Strings.ErrorJPEGFileTooBig)), ErrorCategory.InvalidData, (object) null);
          if (Image.FromStream(stream).RawFormat.Guid != ImageFormat.Jpeg.Guid)
            throw new ArgumentException();
          this.data = jpegFileData;
        }
      }
      catch (ArgumentException ex)
      {
        ((Task) this).WriteError((Exception) new FormatException(LocalizedString.op_Implicit(Strings.ErrorInvalidJPEGFormat)), ErrorCategory.InvalidData, (object) null);
      }
    }
 
 ...
 
  }
}


Источники и дополнительные ссылки

User photos aren't synced from the on-premises environment to Exchange Online in a hybrid deployment
https://support.microsoft.com/en-us/kb/3062745

Атрибуты синхронизируемые через Azure Active Directory Sync Tool
https://social.technet.microsoft.com/wiki/contents/articles/19901.dirsync-list-of-attributes-that-are-synced-by-the-azure-active-directory-sync-tool.aspx

Атрибуты синхронизируемые в Azure AD
https://docs.microsoft.com/en-us/azure/active-directory/connect/active-directory-aadconnectsync-attributes-synchronized

Exchange Server Updates: build numbers and release dates
https://technet.microsoft.com/en-us/library/hh135098(v=exchg.150).aspx#Exchange Server 2013

Configure the use of high-resolution photos in Skype for Business Server 2015
https://technet.microsoft.com/en-us/library/jj688150.aspx

Set-UserPhoto
https://technet.microsoft.com/en-us/library/jj218694(v=exchg.160).aspx

Lithnet FIM/MIM Service PowerShell Module
aynyuh
Проект Powershell-модуля для FIM/MIM, о котором я писал ранее, переехал с CodePlex-а на GitHub: https://github.com/lithnet/resourcemanagement-powershell

Длина smtp-адреса в Exchange 2013
aynyuh
The maximum length for an SMTP email address in Exchange is 571 characters. This limit includes the following:

  • 315 characters for the name part of the address

  • 255 characters for the domain name

The at sign (@) character that separates the name part of the address from the domain name.

Статья Recipient resolution.

The Value drop down list is grayed out when you perform search for Group Policy Objects in GPMC
aynyuh
В поиске по груповым политикам не отображается поле ввода... пока не будет исправлен ключ реестра.

http://social.technet.microsoft.com/wiki/contents/articles/23169.the-value-drop-down-list-is-grayed-out-when-you-perform-search-for-group-policy-objects-in-gpmc.aspx

Ссылка
aynyuh
Просто небольшой хомяк с подходящим для новичкоф описанием как начать программировать на java, c++ и т.д.
https://www.ntu.edu.sg/home/ehchua/programming/index.html

Ошибка 6481 на сервере Sharepoint Frontend (FIM Portal)
aynyuh
Ошибка:

Application Server job failed for service instance Microsoft.Office.Server.Search.Administration.SearchDataAccessServiceInstance
Reason: An update conflict has occurred, and you must re-try this action. The object SearchDataAccessServiceInstance was updated by DOMAIN\FIMWSS, in the OWSTIMER (17180) process, on machine SERVERNAME. View the tracing log for more information about the conflict.
Technical Support Details:Microsoft.SharePoint.Administration.SPUpdatedConcurrencyException: An update conflict has occurred, and you must re-try this action. The object SearchDataAccessServiceInstance was updated by DOMAIN\FIMWSS, in the OWSTIMER (17180) process, on machine SERVERNAME. View the tracing log for more information about the conflict. at Microsoft.Office.Server.Search.Administration.SearchDataAccessServiceInstance.UpdateWithRetrying() at Microsoft.Office.Server.Search.Administration.SearchDataAccessServiceInstance.Synchronize(Boolean calledFromSearchServiceInstance) at Microsoft.Office.Server.Administration.ApplicationServerJob.ProvisionLocalSharedServiceInstances(Boolean isAdministrationServiceJob)




Способ решения описан в KB https://support.microsoft.com/en-us/kb/939308

Эту процедуру необходимо выполнить на всех WFE, если их несколько:
1.    Stop the Windows SharePoint Services Timer service (Found in Windows Services)
2.    Navigate to the cache folder. In Windows Server 2008, the configuration cache is in the following location:
Drive:\ProgramData\Microsoft\SharePoint\Config
In Windows Server 2003, the configuration cache is in the following location:
Drive:\Documents and Settings\All Users\Application Data\Microsoft\SharePoint\Config
Locate the folder that has the file "Cache.ini"
(Note: The Application Data folder may be hidden. To view the hidden folder, change the folder options as required).
3.    Back up the Cache.ini file.
4.    Delete all the XML configuration files in the GUID folder. Do this so that you can verify that the GUID folder is replaced by new XML configuration files when the cache is rebuilt.
5.    Note When you empty the configuration cache in the GUID folder, make sure that you do not delete the GUID folder and the Cache.ini file that is located in the GUID folder.
6.    Double-click the Cache.ini file.
7.    On the Edit menu, click Select All. On the Edit menu, click Delete. Type 1, and then click
Save on the File menu. On the File menu, click Exit.
8.    Start the Windows SharePoint Services Timer service
9.    Note The file system cache is re-created after you perform this procedure. Make sure that you perform this procedure on all servers in the server farm.
10.  Make sure that the Cache.ini file in the GUID folder now contains its previous value. For example, make sure that the value of the Cache.ini file is not 1.

Источник
http://www.social-point.com/sharepoint-2010-event-id-6482-application-server-administration-job-failed-for-service-instance-microsoft-office-server-search-administration-searchserviceinstance

Формат пароля Serv-U в файле настроек
aynyuh
Пароль хранится в атрибуте CUserPasswordAttr в файле <username>.Archive. Сама строка является md5-хэшем с солью.

password hash = salt+md5(salt+password)

Пароль 000 будет представлен в виде ew537F3898A11B3F34164913A4374EF6DD
Tags: , ,

?

Log in