ã管çè ãšããŠã端æ«ã®å®è¡ã«åé¡ãããããã§ã
ãšã©ãŒïŒWindowsã¯ãCïŒ\ ProgramFiles \ WindowsApps \ Microsoft.WindowsTerminal_0.2.1831.0_x64__8wekyb3d8bbwe \ WindowsTerminal.exeããèŠã€ããããšãã§ããŸããååãæ£ããå ¥åããããšã確èªããŠãããåè©Šè¡ããŠãã ãã
@ DHowett-MSFTããã«ã€ããŠã©ããã«éè€ããåé¡ãããããšãèªãããšãã§ããŸããããä»ã¯èŠã€ãããŸããã ããã®åå ãèŠããŠããŸããïŒ
ãããéè€ããŠããå Žåã¯ç³ãèš³ãããŸããã
çç±ã¯ãããŸãããã¢ããªãæ£åžžã«èµ·åããŸããã管çè ã倱æãããšãã«rã¯ãªãã¯ããŠèµ·åããŸããWindowsUACã管çè ãã¹ã¯ãŒãã®å ¥åã2åèŠæ±ãããšããšã©ãŒãçºçããŸãã
ç§ãçŸåšãã®åé¡ãçµéšããŠããŸãã ã¿ã¹ã¯ããŒã§ã¿ãŒããã«ãæ€çŽ¢ããŸãã
次ã«ã管çè ã®è³æ Œæ å ±ã2åå ¥åããããã«æ±ããããŸããã 次ã ãšç®¡çè ããã³ããã衚瀺ãããŸãã 次ã«ãè³æ Œæ å ±ã®å ¥åã2åçµäºãããšã次ã®ãšã©ãŒã¡ãã»ãŒãžã衚瀺ãããŸããã
ä»æ¥ã¯ã¿ãŒããã«ãèšçœ®ããŸããã
ã¿ãŒããã«ããŒãžã§ã³ïŒ
ããŒãžã§ã³ïŒ0.2.1831.0
OSããŒãžã§ã³ïŒ
Windows 10 Pro
10.0.18362ãã«ã18362
ãŸããã¿ã¹ã¯ããŒãã管çè ãšããŠç«¯æ«å šäœãå®è¡ãã代ããã«ãææ¡ãšããŠããããã代æ¿æ段ããããŸããïŒ
äŸãã°ïŒ
æ°ããã¿ããéããšãã«ããŠãŒã¶ãŒã«ããã³ãââãã衚瀺ãããã管çè
ãšããŠæ°ããã€ã³ã¹ã¿ã³ã¹ãéããã©ãããå°ããUIããããŸããïŒ
ãŸãã¯ãã¿ãŒããã«ãå³ã¯ãªãã¯ããŠããŸã£ããåããã£ã¬ã¯ããªãã管çã¿ããéããŸãã ïŒsudoã®ãããªåªããæ©èœããªããããPowerShellã³ã¢ã«ã¯éåžžã«äŸ¿å©ã§ãïŒ
管çè ã¢ãŒãã§å®è¡ãããŠããWindowsã¿ãŒããã«ã®ãµããŒãã¯é©åãªåäœã§ã¯ãªãå¯èœæ§ããããŸããã€ãŸããCtrl + Tã§éããä»ã®ã¿ãã®ãã¹ãŠã®ã·ã§ã«ã管çè æš©éã§ããå¯èœæ§ããããŸãã ç§ã®ç¥ãéããWindowsã¿ãŒããã«ã¯ç®¡çè ããå¶éããããŠãŒã¶ãŒãžã®ã³ãŒããå®è£ ããŠããŸããã å®éãWindowsã«æ¬ ããŠããã®ã¯ãsudoã®ããã«UIã®çžäºäœçšãå¿ èŠãšããªãçš®é¡ã®ç¹æš©å®è£ ã§ãã
ãã ããsudoã®å®è£ ãé¢åãªå ŽåããããŸãã ã«ãŒã³åè©ã®æµãã¯ãããŸãã«æ¬¡ã®ãšããã§ãïŒäœãåé¡ãããå Žåã¯ãç§ã«æãåºãããŠãã ããïŒïŒ
PROC_THREAD_ATTRIBUTE_PARENT_PROCESS
ã§åŒã³åºãããæé 3ã§ååŸãããã³ãã«ã䜿çšããŸããEXTENDED_STARTUPINFO_PRESENT
ãšã¹ããã1ããã³4ã®çµæã§åŒã³åºãããŸããç°¡åãªçµè«ãå°ãåºãããšãã§ããŸãã å®éã runas
ã¯å®éã«ã¯ãç¹æš©ã®é«ãããã»ã¹ãžã®RPCèŠæ±ãéå§ããéåžžã®ããã»ã¹ã§ãã ç¹æš©ã®é«ãããã»ã¹ïŒAppInfoãµãŒãã¹ïŒã¯ã管çè
ããã»ã¹ãäœæãããã®èŠªããã»ã¹ãéåžžã®ããã»ã¹ãšããŠèšå®ããŸãã
AppInfoã¯çŸåšã管çè ããã»ã¹ã®èµ·åæã«äœæ¥ãã£ã¬ã¯ããªãå ¥åãããã³åºåãèšå®ããããšããµããŒãããŠããŸããïŒãã ããCreateProcessAsUserãåŒã³åºããŸãïŒã ããã¯ãWindowsã¿ãŒããã«ã§sudoãµããŒããå®è¡ã§ããããã«ããããã«è§£æ±ºããå¿ èŠãããåé¡ã§ãã ïŒShellExecuteEx SEE_MASK_NO_CONSOLEã¯æ©èœããŸããïŒ
typedef struct _SHELLEXECUTEINFOW {
DWORD cbSize;
ULONG fMask;
HWND hwnd;
LPCWSTR lpVerb;
LPCWSTR lpFile;
LPCWSTR lpParameters;
LPCWSTR lpDirectory;
int nShow;
HINSTANCE hInstApp;
void *lpIDList;
LPCWSTR lpClass;
HKEY hkeyClass;
DWORD dwHotKey;
union {
HANDLE hIcon;
HANDLE hMonitor;
} DUMMYUNIONNAME;
HANDLE hProcess;
} SHELLEXECUTEINFOW, *LPSHELLEXECUTEINFOW;
åç §ïŒ https ïŒ
|䟡å€| æå³|
| --- | --- |
| PROC_THREAD_ATTRIBUTE_PARENT_PROCESS | lpValueãã©ã¡ãŒã¿ãŒã¯ãäœæäžã®ããã»ã¹ã®èŠªãšããŠåŒã³åºãããã»ã¹ã®ä»£ããã«äœ¿çšããããã»ã¹ãžã®ãã³ãã«ãžã®ãã€ã³ã¿ãŒã§ãã 䜿çšããããã»ã¹ã«ã¯ãPROCESS_CREATE_PROCESSã¢ã¯ã»ã¹æš©ãå¿
èŠã§ãã
æå®ãããããã»ã¹ããç¶æ¿ãããå±æ§ã«ã¯ããã³ãã«ãããã€ã¹ããããããã»ããµã¢ãã£ããã£ãåªå
床ãã¯ã©ãŒã¿ãããã»ã¹ããŒã¯ã³ãããã³ãžã§ããªããžã§ã¯ããå«ãŸããŸãã ïŒãããã°ããŒããªã©ã®äžéšã®å±æ§ã¯ããã®ãã³ãã«ã§æå®ãããããã»ã¹ã§ã¯ãªããäœæããã»ã¹ããååŸãããããšã«æ³šæããŠãã ãããïŒ|
ããã¯ééããªãWindowsãã©ãããã©ãŒã ã®åé¡ã§ãã ç§ã¯ãããææããŠããããŒã ã«ãã©ããŒã¢ããããŠãããéããããã«ãããèªåèªèº«ã«å²ãåœãŠãŠããŸãã ããããšãã
ç§ã¯@ YMba9g8j9CJp0wLoQf5yãææ Œããç¹æš©ã§ã¿ããæ¿èªãããšããææ¡ã奜ãã§ãã ç§ã¯ConEmuã®åºèº«ã§ã管çè æš©éã®æç¡ã«ãããããã¿ããäœæã§ããŸãã 管çã¿ããäœæãããšãUACã衚瀺ãããŸãïŒæ°žä¹ ã«ïŒã
ããã¯ãWindowsã¹ãã¢ã¢ããªã±ãŒã·ã§ã³ã®éåžžã®åäœã ãã§ã¯ãããŸãããïŒ ããã¯æè¿ãªãªãŒã¹ããããã¬ãã¥ãŒã¢ããªã®ããã§ãã
ããããç§ã¯é«æ¶ã·ã§ã«ãå®è¡ããæ¹æ³ãå¿
èŠã§ãã ä»æ¥ã¯ãããè¡ãããšã¯ã§ããªãããã§ãïŒç®¡çè
ãšããŠã¿ããéããŸãïŒã
ãããããã«ã€ããŠç§ãã¡ã«ã§ããããšããããã©ããã¯ããããŸããã ãéçºè ãã©ãããã©ãŒã >ã¢ããªã®å±éãã«ããŽãªã«ãã£ãŒãããã¯ãæåºããŠããã ããŸãããã ããã¯ãé©åãªããŒã ã«ã«ãŒãã£ã³ã°ããã®ã«åœ¹ç«ã¡ãéåžžã«åœ¹ç«ã€èšºææ å ±ãåéããŸãã
ãªã³ã¯ïŒãããïŒ1538ã§ã
ç§ã¯ãã®æ±ºå®ã«åæããŸããã 管çè
ã¢ãŒãã§æ瀺çã«å®è¡ããã«chocolatey
ã䜿çšããã®ã¯éåžžã«é¢åã§ãã ïŒïŒ
@musm PowerShell6ã®æ§æã«ããããããŸãã
function GoAdmin { start-process pwsh âverb runAs }
ïŒå€ãPowerShellã䜿çšããŠããå Žåã¯ã pwsh
ãpowershell
眮ãæããŸãïŒ
ãããã£ãŠãchocolateyãä»ããŠããã±ãŒãžãã€ã³ã¹ããŒã«/æŽæ°ããå¿
èŠããããšãã¯ãã€ã§ããïŒWindows Terminalã®ãã¹ããããŠããPowerShellã§ïŒ GoAdmin
ãšå
¥åãããšãå¥ã®ç®¡çè
PowerShellãŠã£ã³ããŠã衚瀺ãããŸãã ããã§ããã¹ãŠã®ãã§ã³ã¬ãŒãã®ç®¡çã³ãã³ããå®è¡ã§ããŸãã 次ã«ã管çãŠã£ã³ããŠãéããWindowsã¿ãŒããã«ã»ãã·ã§ã³ã«refreshenv
ããŠããã¹ãŠã®PATHå€æ°ãæŽæ°ããŸãã ãšãŠãç°¡åã§ãã
ã裞ã®ãpwshã«çŽæ¥ã¢ã¯ã»ã¹ããã®ã§ã¯ãªãã wt
ïŒWindowsã¿ãŒããã«ïŒãèµ·åããæ¹æ³ã絶察ã«æãã§ããŸãããããã¯äžå¯èœã®ããã§ãã ããããããã¯ãã€ããŒãªäžæºã§ãã ãŸãã :-)
管çè ãšããŠWTïŒ0.9.433.0ïŒãèµ·åãããã®ã§ããããŸã ãšã©ãŒãçºçããŸãã
ææ°ã®WTããã³WindowsïŒv10.0.18363.657ïŒãæèŒããè€æ°ã®ãã·ã³ã§çºçããŸãã
ãã®åé¡ã解決ãããçç±ãšåé¿çãããããããªãã
å®éã«ã¯ããŸããããŸããã§ãããæåŸã«ã³ã¡ã³ãããã®ã¯ãããã¯Windowsã®åé¡ã§ãããããŒã ã§æèµ·ããäºå®ã§ãã
圌ãã¯ããŒã ã§ãããäžããŸãã
ç§ã¯ããã¯æããŸããã ããã¯ãããŒã ãšäžç·ã«è²ãŠãã¹ãã ããšãããããªãã®ã§ãã
圌ãã¯ãæãéèŠãªæ©èœã®1ã€ãå£ããWin Terminalv1ããªãªãŒã¹ããããšãèããŠããªããšç¢ºä¿¡ããŠããŸãã
WTã®çŸåšã®ãã¬ãªãªãŒã¹ããŒãžã§ã³ã䜿çšã§ããªããªããããæ®å¿µã§ãã
ããã«ããã管çè ãšãšãã«æ°ããPowerShellãŠã£ã³ããŠã衚瀺ãããŸãã æ£ç¢ºã«ã¯ç§ãã¡ãæãã§ãããã®ã§ã¯ãããŸããããããã¯åé¿çã§ãã 次ã®ã³ãã³ãã©ã€ã³ã§æ°ãããããã¡ã€ã«ãäœæããŸãã
"commandline": "powershell.exe -Command \"Start-Process powershell.exe -Verb RunAs\"",
ãªããããééãããŠããã®ã§ããïŒ ææ Œã¿ãæ©èœããŸã å¿ èŠã§ãã
ããã¯ããã®ãªããžããªã®ä»ã®å€ãã®åé¡ã§è¿œè·¡ãããŠããããã§ãã
@ DHowett-MSFTããããšãã ã©ã®åé¡ã«åŸãã¹ãã§ããïŒ ç§ã¯ãããäžã§èšåããããšã¯æããªãã
@musm PowerShell6ã®æ§æã«ããããããŸãã
function GoAdmin { start-process pwsh âverb runAs }
ïŒå€ãPowerShellã䜿çšããŠããå Žåã¯ã
pwsh
ãpowershell
眮ãæããŸãïŒãããã£ãŠãchocolateyãä»ããŠããã±ãŒãžãã€ã³ã¹ããŒã«/æŽæ°ããå¿ èŠããããšãã¯ãã€ã§ããïŒWindows Terminalã®ãã¹ããããŠããPowerShellã§ïŒ
GoAdmin
ãšå ¥åãããšãå¥ã®ç®¡çè PowerShellãŠã£ã³ããŠã衚瀺ãããŸãã ããã§ããã¹ãŠã®ãã§ã³ã¬ãŒãã®ç®¡çã³ãã³ããå®è¡ã§ããŸãã 次ã«ã管çãŠã£ã³ããŠãéããWindowsã¿ãŒããã«ã»ãã·ã§ã³ã«refreshenv
ããŠããã¹ãŠã®PATHå€æ°ãæŽæ°ããŸãã ãšãŠãç°¡åã§ããã裞ã®ãpwshã«çŽæ¥ã¢ã¯ã»ã¹ããã®ã§ã¯ãªãã
wt
ïŒWindowsã¿ãŒããã«ïŒãèµ·åããæ¹æ³ã絶察ã«æãã§ããŸãããããã¯äžå¯èœã®ããã§ãã ããããããã¯ãã€ããŒãªäžæºã§ãã ãŸãã :-)
Windowsã§ã¯ããã®èšå®ãã¡ã€ã«ã¯ã©ãã«ãããŸããïŒ
@ mian-muhammad圌ã¯PowerShellãããã¡ã€ã«ãæå³ããŠãããšæããŸãã https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_profiles
åé¿çãèŠã€ããŸããã Chocolateyã䜿çšããŠãsudoïŒchoco install -y sudoïŒãšããããã±ãŒãžãã€ã³ã¹ããŒã«ã§ããŸãã ãã®åŸãæåŸ ã©ããã«sudoã䜿çšã§ããŸãã
çŸåšã管çè ãšããŠç«¯æ«ãéãããšãã§ããããã§ãã å°ãªããšãç§ã®ãã·ã³ã§ã¯åäœããŸãã ConEmuïŒïŒ632ã§èª¬æïŒã®ãããªç®¡çè ãšããŠã¿ããäœæã§ããã°ããã«è¯ãã§ãããããçŸæç¹ã§ã¯ãã®åé¡ãå床éãæå³ã¯ãããŸããã
ãã®ä»ã®é¢é£ããä¿çäžã®æ©èœãªã¯ãšã¹ãïŒ
sudo
@ Pens99ãèå³ãããããã®ã¹ã¬ããããã©ããŒããŠãããã¹ãŠã®äººã«åœ¹ç«ã€ããšãé¡ã£ãŠããŸãã
@ DHowett-MSFTããã解決ããã«ã¯ãã©ã®åé¡ããã©ããŒããŠã¹ã¿ãŒãä»ããå¿ èŠããããŸããïŒ ç§ãèŠãããšãã§ããä»ã®å¯äžã®åç §ãããåé¡ã¯ãåããéããããŠããïŒ1538ã§ãã
ãã€ã¯ããœããã®ã¹ã¿ã³ã¹ã§ã¯ãææ°ã®Windowsã¢ããªã䜿çšããå Žåã¯ãåå¥ã®ç®¡çè ã¢ã«ãŠã³ãã䜿çšããã®ã§ã¯ãªãããã¹ãŠã®ãŠãŒã¶ãŒãæšæºãŠãŒã¶ãŒã®ç®¡çè æš©éãæã€å¿ èŠããããšã¯éããŸããã ããã¯çµå±ã®ãšãããæšæºçãªã»ãã¥ãªãã£æ £è¡ã«åããŠããŸãã
@dansturãã®æžå¿µã«å¯ŸããŠç§ãæäŸã§ããæé«ã®ãã®ã¯ïŒ4217ã§ãã ã¢ããªã®ãããã€ãææããããŒã ãšã®ä¿®æ£ãé²ããŠããŸãã åé¡ã¯ãã¢ããªãã°ããŒãã«ã«_ã€ã³ã¹ããŒã«_ãããŠãããããŠãŒã¶ãŒããšã«ã®ã¿ç»é²ãããŠããããšã§ãã ããã¯ãWindows 8çšã«æ§ç¯ãããã€ã³ãã©ã¹ãã©ã¯ãã£ã§ãããã¿ãŒããã«ãªã©ã®æšæºçãªwin32ã¢ããªã±ãŒã·ã§ã³ã®å®è¡ããµããŒãããããã«éåžžã«ãã£ãããšé²åããŸããã ïŒ1386ã¯ãããã±ãŒãžããæãåºããããã±ãŒãžå±éãšã³ãžã³ã«åé¡ãæ±ããŠããäŒæ¥é¡§å®¢ã人ã ã«ãšã£ãŠããäŒçµ±çãªãã®ãšããŠé åžããããšã远跡ããŸãã
@ DHowett-MSFTåé¡ãããããšãã远跡ãããŠãããšèããŠããããã
æ確ã«ããããã«ïŒïŒ1386ã«èšèŒãããŠãããªãã·ã§ã³ã䜿çšããŠã¢ããªã±ãŒã·ã§ã³ãã€ã³ã¹ããŒã«ãããšãå¥ã®ãŠãŒã¶ãŒãšããŠå®è¡ã§ããŸããããããšãæ©èœããŸãããïŒ ä»ã®ãŠãŒã¶ãŒã«ã¢ããªãç»é²ããå¿
èŠã¯ãããŸããïŒã€ãŸãã Add-AppxPackage
å®è¡ããããšãæå³ããŸããïŒïŒã
@ DHowett-MSFT Dustin Howett FTEåé¡ãããããšãã远跡ãããŠãããšèããŠããããã
æ確ã«ããããã«ïŒïŒ1386ã«èšèŒãããŠãããªãã·ã§ã³ã䜿çšããŠã¢ããªã±ãŒã·ã§ã³ãã€ã³ã¹ããŒã«ãããšãå¥ã®ãŠãŒã¶ãŒãšããŠå®è¡ã§ããŸããããããšãæ©èœããŸãããïŒ ä»ã®ãŠãŒã¶ãŒã«ã¢ããªãç»é²ããå¿ èŠã¯ãããŸããïŒã€ãŸãã
Add-AppxPackage
å®è¡ããããšãæå³ããŸããïŒïŒã
ããã¯ããŸãããã¯ãã§ãã ã¯ãããããã®ãŠãŒã¶ãŒãšããŠAdd-AppxPackageãè¿œå ããå¿ èŠããããŸãã ïŒã¹ãã€ã«ïŒ
ãããã¿ãã¯ãããŠããã®ãèŠãŠããããã§ãã
ããã解決ããå¿ èŠããããŸããããã¯ãåå¥ã®ç®¡çè ã¢ã«ãŠã³ããšãŠãŒã¶ãŒã¢ã«ãŠã³ãã§ã»ããã¢ãããããWindowsç°å¢ã§ã¯ãïŒæšå¥šãããïŒMSã¹ãã¢ããã€ã³ã¹ããŒã«ããå Žåãã¿ãŒããã«ã管çè ã䜿çšã§ããªãããã§ãã
ãããã¿ãã¯ãããŠããã®ãèŠãŠããããã§ãã
ããã解決ããå¿ èŠããããŸããããã¯ãåå¥ã®ç®¡çè ã¢ã«ãŠã³ããšãŠãŒã¶ãŒã¢ã«ãŠã³ãã§ã»ããã¢ãããããWindowsç°å¢ã§ã¯ãïŒæšå¥šãããïŒMSã¹ãã¢ããã€ã³ã¹ããŒã«ããå Žåãã¿ãŒããã«ã管çè ã䜿çšã§ããªãããã§ãã
ç§ã«ãšã£ãŠæå¹ãªåé¿çã¯ãããŒã«ã«ãã·ã³ã«ç®¡çè ãŠãŒã¶ãŒãšããŠãã°ã€ã³ããã¹ãã¢ããã¿ãŒããã«ãå床ãã€ã³ã¹ããŒã«ãããããšã§ããã ãã®åŸãæšæºãŠãŒã¶ãŒãšããŠãã°ã€ã³ãããšã管çè ãšããŠç«¯æ«ãå®è¡ã§ããŸã
ã¯ããåé¡ã¯ã¹ãã¢ãçŸåšã®ãŠãŒã¶ãŒã®ã¿ã«ã¢ããªãç»é²ããããšã®ããã§ãã ããã¯ã»ãšãã©ã®ã¢ããªã«ã¯åé¡ãããŸãããïŒå®éã«ã¯ãã»ãšãã©ã®ã¢ããªãã€ã³ã¹ããŒã«ããæ¹æ³ã§ãïŒã端æ«ãªã©ã®ç®¡çã¢ããªã«ã¯é©ããŠããŸããã
ããæªæ¥ã®ç§ïŒã¹ãã¢ç»é²ã®åé¡ã¯MSFTïŒ20356613ã§å éšçã«è¿œè·¡ãããŠãããïŒ4217ã§
ããã«ã¡ã¯ã
ç§ã¯éåžžã®ã¢ã«ãŠã³ãã§ããã®åé¡ã«ééããŸããã 解決çã¯ã管çè
ã¢ã«ãŠã³ãã«ãµã€ã³ã€ã³ããç¶æ
ã§ã¿ãŒããã«ã¢ããªãåã€ã³ã¹ããŒã«ããããšã§ãã ãã®åŸãéåžžã®ã¢ã«ãŠã³ãã§ç®¡çè
ãšããŠå®è¡ã§ããããã«ãªããŸãã
ãã£ã¡ãäžç·ã åé¡ã¯è§£æ±ºãããŠããªãããã§ã
管çè ãšããŠå®è¡ãããŠãã_tab_ãéãããšãèš±å¯ããªããããã«å¥ã®å®å šã§ã¯ãªãåé¿çããããŸãããæ¢åã®ïŒç®¡çè 以å€ã®ïŒã¿ããã管çè ãšããŠPowerShellãŠã£ã³ããŠãéãããšã¯ã§ããŸãã
https://github.com/jt-github/elevate
ããã¯ãäžèšã®@CraigHeadã§ææ¡ãããŠãããããã¡ã€ã«ã®è¿œå ãšåãããã«
"commandline": "powershell.exe -Command \"Start-Process powershell.exe -Verb RunAs\"",
ç§ã®ããŒãžã§ã³ãelevate
ã³ãã³ããå®è¡ããããšã«ãã£ãŠå®è¡ãããããšãé€ããŠã
@ jt-githubããã¯sudoã®ãããªãã®ã§ãã
ãããåç §ããŠãã ããïŒ https ïŒ
æ£ç¢ºã«ã¯ã sudo
ã ããç§ã®ãã®ãããã¯ããã«ã¯ãŒã«ã§ãããç§ã®ãã®ã¯éåžžã«åçŽãªã®ã§ãç解ããŠäœ¿çšããã®ã¯ç°¡åã§ãã
å€ãã®çãããšåãããã«ãç§ããã®åé¡ã«ééããã®ã§ãpowershell.exeãpwsh.exeããŸãã¯Microsoftã¿ãŒããã«ã®ãããããã管çã·ã§ã«ãéãããã«æ¬¡ã®é¢æ°ãäœæããŸãã
# Function Test-IsAdmin
function Test-IsAdmin {
<#
.Synopsis
Tests if the user is an administrator
.Description
Returns true if a user is an administrator, false if the user is not an administrator
.Example
Test-IsAdmin
#>
$identity = [Security.Principal.WindowsIdentity]::GetCurrent()
$principal = New-Object Security.Principal.WindowsPrincipal $identity
$principal.IsInRole([Security.Principal.WindowsBuiltinRole]::Administrator)
}
# Function New-AdminShell
function New-AdminShell {
<#
.Synopsis
Starts an Elevated PowerShell Console.
.Description
Opens a new PowerShell Console Elevated as Administrator. If the user is already running an elevated
administrator shell, a message is displayed in the console session.
.Example
New-AdminShell
#>
$Process = Get-Process | Where-Object { $_.Id -eq "$($PID)" }
if (Test-IsAdmin = $True) {
Write-Warning -Message "Admin Shell already running!"
}
else {
if ($Process.Name -eq "powershell") {
Start-Process -FilePath "powershell.exe" -Verb runas -PassThru
}
if ($Process.Name -eq "pwsh") {
Start-Process -FilePath "pwsh.exe" -Verb runas -PassThru
}
}
}
# Function New-AdminTerminal
function New-AdminTerminal {
<#
.Synopsis
Starts an Elevated Microsoft Terminal.
.Description
Opens a new Microsoft Terminal Elevated as Administrator. If the user is already running an elevated
Microsoft Terminal, a message is displayed in the console session.
.Example
New-AdminShell
#>
if (Test-IsAdmin = $True) {
Write-Warning -Message "Admin Shell already running!"
}
else {
Start-Process "wt.exe" -ArgumentList "-p pwsh" -Verb runas -PassThru
}
}
誰ãããããã圹ã«ç«ã€ãšæã£ãŠãããããšãé¡ã£ãŠããŸãã ããããPowerShellãããã¡ã€ã«ã«è¿œå ããã®ã§ããã€ã§ãå©çšã§ããŸãã
ããã«ã¡ã¯ã
ç§ã¯éåžžã®ã¢ã«ãŠã³ãã§ããã®åé¡ã«ééããŸããã 解決çã¯ã管çè ã¢ã«ãŠã³ãã«ãµã€ã³ã€ã³ããç¶æ ã§ã¿ãŒããã«ã¢ããªãåã€ã³ã¹ããŒã«ããããšã§ãã ãã®åŸãéåžžã®ã¢ã«ãŠã³ãã§ç®¡çè ãšããŠå®è¡ã§ããããã«ãªããŸãã
ããã¯ç§ã«ãšã£ãŠãããŸããããŸãããããã¯éåžžã«è¿·æã§ãããäŒæ¥ãããã¯ãŒã¯ã§ã¯ãããç§ã®ããã«åããå¯äžã®æ¹æ³ã§ãã ããªããããŒã«ã«ç®¡çè ãæã£ãŠããªãå Žåããã®ã¢ããªã¯äŒæ¥ãããã¯ãŒã¯äžã®ææ Œããããã©ã€ããŒãã®ããã«ããªããã¹ãã§ãã
ãããã¿ãã¯ãããŠããã®ãèŠãŠããããã§ãã
ããã解決ããå¿ èŠããããŸããããã¯ãåå¥ã®ç®¡çè ã¢ã«ãŠã³ããšãŠãŒã¶ãŒã¢ã«ãŠã³ãã§ã»ããã¢ãããããWindowsç°å¢ã§ã¯ãïŒæšå¥šãããïŒMSã¹ãã¢ããã€ã³ã¹ããŒã«ããå Žåãã¿ãŒããã«ã管çè ã䜿çšã§ããªãããã§ããç§ã«ãšã£ãŠæå¹ãªåé¿çã¯ãããŒã«ã«ãã·ã³ã«ç®¡çè ãŠãŒã¶ãŒãšããŠãã°ã€ã³ããã¹ãã¢ããã¿ãŒããã«ãå床ãã€ã³ã¹ããŒã«ãããããšã§ããã ãã®åŸãæšæºãŠãŒã¶ãŒãšããŠãã°ã€ã³ãããšã管çè ãšããŠç«¯æ«ãå®è¡ã§ããŸã
ãããããã¯ç§ã«ã¯ããŸããããŸããã§ãã:(
ã ããç§ã¯ãããç解ããŸããã
管çè ã¢ã«ãŠã³ããšã¡ã€ã³ã¢ã«ãŠã³ãã®äž¡æ¹ã«ã€ã³ã¹ããŒã«ããå¿ èŠããããŸãããæ©èœãããã«ã¯ç®¡çè ã¢ã«ãŠã³ãã«ããµã€ã³ã€ã³ããå¿ èŠããããŸãã ããã¯ãã³ã³ãã¥ãŒã¿ãŒã管çè ã«ãã°ã€ã³ããŠããããŠãŒã¶ãŒãåãæ¿ããŠïŒãµã€ã³ã¢ãŠãã§ã¯ãªãïŒãä»ã®ã¢ã«ãŠã³ãã«ãã°ã€ã³ããå¿ èŠãããããšãæå³ããŸãã ããã«ãããã¢ããªã管çè ã¢ãŒãã§å®è¡ã§ããããã«ãªããŸãã
äž¡æ¹ã®ã¢ã«ãŠã³ãã«ã€ã³ã¹ããŒã«ãããŠããã¹ãã¢ã¢ããªã¯ã管çè ã¢ã«ãŠã³ãã«ãã°ã€ã³ããªãéãã管çè ãšããŠå®è¡ã§ããªããšæããŸãã
ã ããç§ã¯ãããç解ããŸããã
管çè ã¢ã«ãŠã³ããšã¡ã€ã³ã¢ã«ãŠã³ãã®äž¡æ¹ã«ã€ã³ã¹ããŒã«ããå¿ èŠããããŸãããæ©èœãããã«ã¯ç®¡çè ã¢ã«ãŠã³ãã«ããµã€ã³ã€ã³ããå¿ èŠããããŸãã ããã¯ãã³ã³ãã¥ãŒã¿ãŒã管çè ã«ãã°ã€ã³ããŠããããŠãŒã¶ãŒãåãæ¿ããŠïŒãµã€ã³ã¢ãŠãã§ã¯ãªãïŒãä»ã®ã¢ã«ãŠã³ãã«ãã°ã€ã³ããå¿ èŠãããããšãæå³ããŸãã ããã«ãããã¢ããªã管çè ã¢ãŒãã§å®è¡ã§ããããã«ãªããŸãã
äž¡æ¹ã®ã¢ã«ãŠã³ãã«ã€ã³ã¹ããŒã«ãããŠããã¹ãã¢ã¢ããªã¯ã管çè ã¢ã«ãŠã³ãã«ãã°ã€ã³ããªãéãã管çè ãšããŠå®è¡ã§ããªããšæããŸãã
ããã¯ç§ã®ããã«åããŸãã ð
æãåèã«ãªãã³ã¡ã³ã
ãŸããã¿ã¹ã¯ããŒãã管çè ãšããŠç«¯æ«å šäœãå®è¡ãã代ããã«ãææ¡ãšããŠããããã代æ¿æ段ããããŸããïŒ
äŸãã°ïŒ
æ°ããã¿ããéããšãã«ããŠãŒã¶ãŒã«ããã³ãââãã衚瀺ãããã管çè ãšããŠæ°ããã€ã³ã¹ã¿ã³ã¹ãéããã©ãããå°ããUIããããŸããïŒ
ãŸãã¯ãã¿ãŒããã«ãå³ã¯ãªãã¯ããŠããŸã£ããåããã£ã¬ã¯ããªãã管çã¿ããéããŸãã ïŒsudoã®ãããªåªããæ©èœããªããããPowerShellã³ã¢ã«ã¯éåžžã«äŸ¿å©ã§ãïŒ