Popis tohoto problému se mi nepodařilo nalézt nikde na internetu. A i když je řešení nakonec velmi jednoduché, tak trvalo dlouho nalézt, co jej způsobuje. V diskuzích se často řeší zobrazení Another User, ale ne Windows User.
Dočasný soubor Owner File
Ve chvíli, kdy otevřeme dokument aplikace Word nebo Excel, tak se ve stejné složce vytvoří dočasný soubor, který se nazývá Owner File. Název souboru začíná znaky tilda a dolar ~$
, následuje jméno souboru a jeho přípona, soubor má příznak skrytý. Tedy třeba pro soubor Test-Excel.xlsx
jde o ~$Test-Excel.xlsx
, pro Test-Word.docx
jde o ~$st-Word.docx
. V tomto souboru je primárně uloženo jméno uživatele, který soubor otevřel.
Jedinou zmínku, kterou jsem nalezl u Microsoftu, je ve starém článku Description of how Word creates temporary files.
Pokud je dokument sdílený v síti, někdo jiný jej má otevřený, tak se při našem pokusu o otevření zobrazí informace typu:
Test-Excel.xlsx is locked for editing by Petr Bouška.

Test-Word.docx is locked for editing by Petr Bouška.

Jméno uživatele se čte právě z Owner File. Pokud se nepodařilo vytvořit Owner File nebo jej nemůžeme přečíst, tak místo jména uživatele máme another user.
The document is locked for editing by another user.
Pokud jde o soubor (Workbook) Excel, tak ten můžeme nastavit jako sdílený. Pak se nevytváří Owner File a nedochází k zamčení pro otevření. Pokud jej edituje více uživatelů, tak se nám zobrazuje, kdo provedl změnu.

Místo jména uživatele Windows User
Zobrazení jména uživatele, který má otevřený soubor, fungovalo dříve bezproblémově. Ale po přechodu na MS Office 2016 se začalo, na pohled náhodně, zobrazovat místo jména uživatele text Windows User. Ve výsledku jsme zjistili, že za to patrně nemůže verze 2016 a není to náhodné, ale pokaždé když edituje soubor jeden z několika málo uživatelů.


Pohledem do souboru Owner File, bylo vidět, že již sem se uloží místo jména uživatele název Windows User. Takže je otázka, kde Word a Excel berou jméno uživatele. Na internetu se na řadě míst uvádí, že jde o jméno, které je v Office 2016 vidět v pravém horním rohu jako přihlášený uživatel. To ale není pravda.

Pokusy ukázaly, že jde o údaje, které jsou v nastavení sady Office.
- v aplikaci Word nebo Excel
- menu File - Options
- záložka General
- položka Personalize your copy of Microsoft Office - User name

Tento údaje se ukládá do registrů pro každého uživatele HKEY_CURRENT_USER\Software\Microsoft\Office\Common\UserInfo\UserName
.
Pozn.: Dříve se, při prvním spuštění Office aplikace, zobrazil dialog, kde se tyto údaje zobrazily a potvrzovaly se. Zdá se, že v Office 2016 se již toto neděje. Je otázka, odkud se jméno uživatele čerpá.
PowerShell na nastavení jména
Pokud využíváme Active Directory, tak se dá použít jednoduchý PowerShell skript, který vezme aktuálně přihlášeného uživatele, v AD DS najde jeho Full Name a tuto hodnotu vloží do registrů.
$fulluser = ([adsi]"WinNT://$env:userdomain/$env:username,user").fullname Set-ItemProperty -Path "HKCU:\Software\Microsoft\Office\Common\UserInfo" -Name "UserName" -Value $fulluser
Komentáře
Zatím tento záznam nikdo nekomentoval.