å æ¥ã@muu000ãããããã®ãããªåé¡ã§å°ã£ã¦ããããã§ãã
Windows 8.1ç°å¢ã§SourceTreeãã¤ã³ã¹ãã¼ã«ã§ããªã?
ãããç§ã¯åé¡ãªãã¤ã³ã¹ãã¼ã«ã§ãã¾ããä»ã®æ¹ãåé¡ãªãã£ãããã§ãã
ã©ãããåå ã¯ãã¦ã¼ã¶ã¼ãã©ã«ãã2byteæå = æ¥æ¬èªã ã£ãããã§ãã
ä»åã¯ã2byteæåã®ã¦ã¼ã¶ã¼ãã©ã«ããã§ãã¦ãã¾ã£ãæã«ããã¦ã¼ã¶ã¼ãã©ã«ãã®ãã¹ã ã夿´ããã¦ã¿ã¾ãããã
- ãããã2Byteæåã«ãªããªã£ãã®ã
- 坾妿³æ³
- PowerShell ã³ã¼ã
- å©ç¨ããåã«
- muu000ããã®äºä¾ã®å¯¾å¿
- ã¾ã¨ã
ãããã2Byteæåã«ãªããªã£ãã®ã
Windows 8ãWindows 8.1ã¯ãMicrosoftã¢ã«ã¦ã³ãã§ãã°ã¤ã³ãå¯è½ã§ãã(Windows 8.1ã¯å¿ é )
muu000ããã¯ãMSã¢ã«ã¦ã³ãã§ãã®ããã«ãã¦ããããã§ãã
ããããã¨ãå ¥åããåå = æ¥æ¬èªåã ã£ããæ¥æ¬èªãã©ã«ãã§ã¦ã¼ã¶ã¼ãã©ã«ããååãã°ã¤ã³æã«çæããã¾ãã
坾妿³æ³
2Byteæåã§ã®ãã¹è§£éãåé¡ã«ãªãäºä¾ã¯ãå¤ãã¯ç³å¨æä»£ããWindows 8ã¾ã§è¨ããã¦ãããWindows 8.1ã§ãé²ãã¦ãã¾ããã
Microsoft ã¢ã«ã¦ã³ããæ¥æ¬èªã§ä½ããªã
è²ã ãããããªãã§ãããããããMicrosoftã¢ã«ã¦ã³ãã§OSãã°ãªã³ = Microsoftã¢ã«ã¦ã³ãã«æ¥æ¬èªãå ¥ããªãã®ããã¹ãã§ãããã
ã¨ãããã¨è¾ãã®ã§ä»¥ä¸ã®æ¹æ³ãããã¾ãã
ã¦ã¼ã¶ã¼ãã©ã«ãã®åç §ã¨ãã©ã«ãåã夿´ãã
ããã¯ã以ä¸ãæ±ãã¦ãã¾ãã
- ãã¼ã«ã«ã¢ã«ã¦ã³ãã§ç®¡çè ãå¥éç¨æãã
- 夿´å¯¾è±¡ã®ã¦ã¼ã¶ã¼ã¯ãµã¤ã³ã¢ã¦ããã
- 夿´ä½æ¥ã®ããã対象ã¨ã¯å¥ã®ç®¡çè ã§ãã°ãªã³
- 対象ã¦ã¼ã¶ã¼ã®ãã©ã«ãããæ°ãã«å©ç¨ãããã¦ã¼ã¶ã¼ãã©ã«ãåã«å¤æ´
- ã¬ã¸ã¹ããª
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\
ã®ProfileImagePath
ã«ã¦ã¼ã¶ã¼ãã©ã«ããã¹ãå ¥ã£ã¦ããã®ã§ã夿´ãããã¦ã¼ã¶ã¼ãã©ã«ãåã«å¤æ´
決ã¾ããã£ã使¥ã®ããã«ããã¦ã¹æä½ã¨ãè¾ãã§ããã
PowerShellã§èªåå®è¡ãã¾ãããã
PowerShell ã³ã¼ã
PowerShell 4.0åãã«ãGitHubã«ããã¦ããã¾ãã
PowerShellUtil / Set-NewUserProfileImagePath / Set-NewUserProfileImagePath.ps1
#Requires -RunAsAdministrator #Requires -Version 4.0 function Set-NewUserProfileImagePath { <# .Example # change username share's userFolder from c:\users\share to c:\users\hoge Set-NewUserProfileImagePath -user share -currentUserFolderName share -newUserFolderName hoge -Verbose .Example # evenif userfolder name not same as username, you can change username share's userFolder from c:\users\hoge to c:\users\share Set-NewUserProfileImagePath -user share -currentUserFolderName hoge -newUserFolderName share -Verbose .Example # with -force switch, you can force input desired imagepath c:\users\share to registry for user share. This never depend on how userfolder is set Set-NewUserProfileImagePath -user share -currentUserFolderName hoge -newUserFolderName share -Verbose -Foce #> [CmdletBinding()] param ( # enter username to be changed [parameter( mandatory, position = 0)] [string] $user, # enter current user folder name to be changed [parameter( mandatory, position = 1)] [string] $currentUserFolderName, # enter new user Folder name change to [parameter( mandatory, position = 2)] [string] $newUserFolderName, # enter new user Folder name change to [switch] $force ) begin { # get foler information $private:usersFolder = Split-Path $env:USERPROFILE -Parent $private:currentUserFolder = Get-ChildItem $usersFolder | where PSISContainer | where Name -eq $currentUserFolderName $private:newuserFolder = Join-Path $usersFolder $newUserFolderName # get registry information $private:registryPath = "registry::HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList" $private:users = Get-CimInstance Win32_UserAccount $private:sid = $users.Where({$_.Name -eq $user}).SID # set registry information $private:regSidDetail = Get-ItemProperty -Path (Join-Path $registryPath $sid) $private:currentProfileImagePath = $regSidDetail.ProfileImagePath $private:newProfileImagePath = if ($force) { $newuserFolder } elseif($currentProfileImagePath -eq $currentUserFolder.FullName) { $newuserFolder } else { $null } } process { if ($user -ne $env:USERNAME) { # userFolder change Write-Verbose ("Start changing user Folder '{0}' to '{1}'" -f $currentUserFolder.FullName, $newuserFolder) if($currentUserFolder.FullName) { if ($currentUserFolder.FullName -ne $newuserFolder) { Rename-Item -Path $currentUserFolder.FullName -NewName $newuserFolder -PassThru -Confirm } else { Write-Warning ("newUserFolder '{0}' detected as same as currentUserFolder '{1}'." -f $newUserFolder, $currentUserFolder.FullName) } } else { Write-Warning ("currentUserFolder '{0}' detected as null." -f $currentUserFolder.FullName) } # registry change Write-Verbose ("Start changing Registry from '{0}' to {1} , for user '{2}' with sid '{3}'" -f $currentProfileImagePath, $newProfileImagePath, $user, $sid) if ($newProfileImagePath) { if ($newProfileImagePath -ne $currentProfileImagePath) { Set-ItemProperty -Path "registry::HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\$sid" -Name ProfileImagePath -Value $newProfileImagePath -Confirm -PassThru } else { Write-Warning ("newProfileImagePath '{0}' detected as same as currentProfileImagePath '{1}'" -f $newProfileImagePath, $currentProfileImagePath) } } else { Write-Warning ("newProfileImagePath '{0}' detected as null." -f $newProfileImagePath) } } else { Write-Warning ("Current user '{0}' is same as target user '{1}'. Please execute this command with other user who have admin priviledge"-f $env:USERNAME, $user) } } end { } }
-Verbose
ãã¤ããªãã¦ãåä½ã¯å¤ããã¾ããããä»ããã¨ä»ã©ã®ãããªæä½ãã¦ããã表示ããã¾ãã
å©ç¨ããåã«
æä½ãã®æé ã ãã¯å¿ è¦ã§ãã®ããã¡ã¤ã«å ±æå¶éã§å¦çã§ããªãå ´åãããã®ã§ã
- ãã¼ã«ã«ã¢ã«ã¦ã³ãã§ç®¡çè ãå¥éç¨æãã
- 夿´å¯¾è±¡ã®ã¦ã¼ã¶ã¼ã¯ãµã¤ã³ã¢ã¦ããã
- 夿´ä½æ¥ã®ããã対象ã¨ã¯å¥ã®ç®¡çè ã§ãã°ãªã³
- ã¹ã¯ãªããå®è¡
å©ç¨ä¾.1
ä¾ãã°ã ã¦ã¼ã¶ã¼åshare
ãåå¨ãã¦ãã¦ã¼ã¶ã¼ãã©ã«ããc:\users\share
ããc:\users\hoge
ã«å¤ãããå ´åã¯ä»¥ä¸ã®ããã«ãã¾ãã
Set-NewUserProfileImagePath -user share -currentUserFolderName share -newUserFolderName hoge -Verbose
å©ç¨ä¾.2
ä¾ãã°ã ã¦ã¼ã¶ã¼åshare
ãåå¨ãã¦ãã¦ã¼ã¶ã¼ãã©ã«ããc:\users\hoge
ã ã£ãæãc:\users\share
ã«å¤ãããå ´åã¯ä»¥ä¸ã®ããã«ãã¾ãã
Set-NewUserProfileImagePath -user share -currentUserFolderName hoge -newUserFolderName share -Verbose
å©ç¨ä¾.3
ä¾ãã°ã ã¦ã¼ã¶ã¼åshare
ãåå¨ãã¦ãã¦ã¼ã¶ã¼ãã©ã«ããc:\users\hoge
ã ã£ãæãc:\users\share
ã«å¤ãããå ´åã
ããã«ãã§ã«ã¦ã¼ã¶ã¼ãã©ã«ãããc:\users\hoge
ã§ãã¬ã¸ã¹ããªã®ã¿c:\users\share
ã ã£ãå ´åã¯ã以ä¸ã§ã¬ã¸ã¹ããªãå¼·å¶çã«å¤æ´å¯è½ã§ãã
Set-NewUserProfileImagePath -user share -currentUserFolderName hoge -newUserFolderName share -Verbose -Foce
muu000ããã®äºä¾ã®å¯¾å¿
muu000ããã®äºä¾ã®å ´åã¯ã以ä¸ã®ããæ¹ã§èªç±ã«å¤æ´å¯è½ã§ãã
Set-NewUserProfileImagePath -user loginUserName -currentUserFolderName æ¥æ¬èªãã©ã«ãå -newUserFolderName 夿´ããããã©ã«ãå -Verbose -force
ãã ããï¼
userProfile%
対çãªã®ã§ããã®å¤æ´åã«ã¤ã³ã¹ãã¼ã«ããã¢ããªã±ã¼ã·ã§ã³ã§ã絶対ãã¹ã§ã¦ã¼ã¶ã¼ãã©ã«ããè¦ã¦ãã¢ããªã±ã¼ã·ã§ã³ã«ã¯éãã¾ããã
ãã®å ´åã¯ãã·ã³ããªãã¯ãªã³ã¯ã§ãªãã¤ã¬ã¯ãããã¾ããä¾ãã°ãhogehogeã¦ã¼ã¶ã¼ã®ãã©ã«ãc:\users\hogehoge
ããc:\users\hoge
ã«ããå ´åã¯ä»¥ä¸ã®ããã«ããã¨ãï¼
userprofile%
ã¨çµ¶å¯¾ãã¹ã®ä¸¡æ¹ã«å¯¾ãã¦æãæã¦ã¾ãã
Set-NewUserProfileImagePath -user hogehoge -currentUserFolderName hogehoge -newUserFolderName hoge -Verbose mklink /d C:\users\hoge C:\users\hogehoge
ã¾ã¨ã
ãªãã¨ããããããããªã¹ã¯ãªãããä½ã£ã¦ãã¾ãã¾ããã
OSã¤ã³ã¹ãã¼ã«ç´å¾ã§ããªãéãããã»ã©ã®çç±ããªãå ´åã¯ã¦ã¼ã¶ã¼ä½ãç´ãæ¹ãå®å ¨ã§ãããã