From ba0e865263fc0e7023a61f165359d01d8658daea Mon Sep 17 00:00:00 2001 From: Dmitry Nefedov Date: Sun, 3 Mar 2024 18:25:43 +0300 Subject: [PATCH] Code refactoring --- Wrapper/SophiaScriptWrapper.exe | Bin 2857984 -> 2804224 bytes sophia_script_versions.json | 14 +- .../Functions.ps1 | 6 +- .../Localizations/de-DE/Sophia.psd1 | 1 + .../Localizations/en-US/Sophia.psd1 | 1 + .../Localizations/es-ES/Sophia.psd1 | 1 + .../Localizations/fr-FR/Sophia.psd1 | 1 + .../Localizations/hu-HU/Sophia.psd1 | 1 + .../Localizations/it-IT/Sophia.psd1 | 1 + .../Localizations/pl-PL/Sophia.psd1 | 1 + .../Localizations/pt-BR/Sophia.psd1 | 1 + .../Localizations/ru-RU/Sophia.psd1 | 1 + .../Localizations/tr-TR/Sophia.psd1 | 1 + .../Localizations/uk-UA/Sophia.psd1 | 1 + .../Localizations/zh-CN/Sophia.psd1 | 1 + .../Manifest/Sophia.psd1 | 2 +- .../Module/Sophia.psm1 | 431 ++++++++-------- src/Sophia_Script_for_Windows_10/Sophia.ps1 | 10 +- .../Functions.ps1 | 6 +- .../Localizations/de-DE/Sophia.psd1 | 1 + .../Localizations/en-US/Sophia.psd1 | 1 + .../Localizations/es-ES/Sophia.psd1 | 1 + .../Localizations/fr-FR/Sophia.psd1 | 1 + .../Localizations/hu-HU/Sophia.psd1 | 1 + .../Localizations/it-IT/Sophia.psd1 | 1 + .../Localizations/pl-PL/Sophia.psd1 | 1 + .../Localizations/pt-BR/Sophia.psd1 | 1 + .../Localizations/ru-RU/Sophia.psd1 | 1 + .../Localizations/tr-TR/Sophia.psd1 | 1 + .../Localizations/uk-UA/Sophia.psd1 | 1 + .../Localizations/zh-CN/Sophia.psd1 | 1 + .../Manifest/Sophia.psd1 | 2 +- .../Module/Sophia.psm1 | 289 ++++++----- .../Sophia.ps1 | 10 +- .../Functions.ps1 | 6 +- .../Localizations/de-DE/Sophia.psd1 | 1 + .../Localizations/en-US/Sophia.psd1 | 1 + .../Localizations/es-ES/Sophia.psd1 | 1 + .../Localizations/fr-FR/Sophia.psd1 | 1 + .../Localizations/hu-HU/Sophia.psd1 | 1 + .../Localizations/it-IT/Sophia.psd1 | 1 + .../Localizations/pl-PL/Sophia.psd1 | 1 + .../Localizations/pt-BR/Sophia.psd1 | 1 + .../Localizations/ru-RU/Sophia.psd1 | 1 + .../Localizations/tr-TR/Sophia.psd1 | 1 + .../Localizations/uk-UA/Sophia.psd1 | 1 + .../Localizations/zh-CN/Sophia.psd1 | 1 + .../Manifest/Sophia.psd1 | 2 +- .../Module/Sophia.psm1 | 330 ++++++------ .../Sophia.ps1 | 10 +- .../Functions.ps1 | 6 +- .../Localizations/de-DE/Sophia.psd1 | 1 + .../Localizations/en-US/Sophia.psd1 | 1 + .../Localizations/es-ES/Sophia.psd1 | 1 + .../Localizations/fr-FR/Sophia.psd1 | 1 + .../Localizations/hu-HU/Sophia.psd1 | 1 + .../Localizations/it-IT/Sophia.psd1 | 1 + .../Localizations/pl-PL/Sophia.psd1 | 1 + .../Localizations/pt-BR/Sophia.psd1 | 1 + .../Localizations/ru-RU/Sophia.psd1 | 1 + .../Localizations/tr-TR/Sophia.psd1 | 1 + .../Localizations/uk-UA/Sophia.psd1 | 1 + .../Localizations/zh-CN/Sophia.psd1 | 1 + .../Manifest/Sophia.psd1 | 2 +- .../Module/Sophia.psm1 | 431 ++++++++-------- .../Sophia.ps1 | 10 +- .../Functions.ps1 | 6 +- .../Localizations/de-DE/Sophia.psd1 | 1 + .../Localizations/en-US/Sophia.psd1 | 1 + .../Localizations/es-ES/Sophia.psd1 | 1 + .../Localizations/fr-FR/Sophia.psd1 | 1 + .../Localizations/hu-HU/Sophia.psd1 | 1 + .../Localizations/it-IT/Sophia.psd1 | 1 + .../Localizations/pl-PL/Sophia.psd1 | 1 + .../Localizations/pt-BR/Sophia.psd1 | 1 + .../Localizations/ru-RU/Sophia.psd1 | 1 + .../Localizations/tr-TR/Sophia.psd1 | 1 + .../Localizations/uk-UA/Sophia.psd1 | 1 + .../Localizations/zh-CN/Sophia.psd1 | 1 + .../Manifest/Sophia.psd1 | 2 +- .../Module/Sophia.psm1 | 472 +++++++++--------- src/Sophia_Script_for_Windows_11/Sophia.ps1 | 6 +- .../Functions.ps1 | 6 +- .../Localizations/de-DE/Sophia.psd1 | 1 + .../Localizations/en-US/Sophia.psd1 | 1 + .../Localizations/es-ES/Sophia.psd1 | 1 + .../Localizations/fr-FR/Sophia.psd1 | 1 + .../Localizations/hu-HU/Sophia.psd1 | 1 + .../Localizations/it-IT/Sophia.psd1 | 1 + .../Localizations/pl-PL/Sophia.psd1 | 1 + .../Localizations/pt-BR/Sophia.psd1 | 1 + .../Localizations/ru-RU/Sophia.psd1 | 1 + .../Localizations/tr-TR/Sophia.psd1 | 1 + .../Localizations/uk-UA/Sophia.psd1 | 1 + .../Localizations/zh-CN/Sophia.psd1 | 1 + .../Manifest/Sophia.psd1 | 2 +- .../Module/Sophia.psm1 | 470 +++++++++-------- .../Sophia.ps1 | 10 +- 98 files changed, 1401 insertions(+), 1212 deletions(-) diff --git a/Wrapper/SophiaScriptWrapper.exe b/Wrapper/SophiaScriptWrapper.exe index 290db5b7eeaccf7358a4521db8b1d1746eb7f98c..4fc30682f9ff6d446f589df35fee0a3597ff51d7 100644 GIT binary patch delta 502918 zcmeEvXP6wtwRZ1lwP98(sWsBB@+z>>NV^gU5NHt~i7bQ==dpF$8kry&4o#hlg-U_=MMa%sl2pfvBx!KbMw1$3;Gr~ z?mTxvVG3sy56d`bYSD%6!v0Z?JD;!2=PPW1yP$h@Zh^bNomZI7Ih&hvTe@2=czWGr zF!j0f3w@lJxH*&C%H3+1SX0f1MYwjZyykQwH$HWeDO%`iE*Ry3)o|Aq5e#MJ01gWzuQ;nK|450+&1al zk=kQBxH}BEt)|(RYRBy8Hs_YQqr0!+Zfff7>X~szVLYSD54W{+?da|(UD-35du=Co zr-Ap-YvrBCO>0_MK5E=dmL&3Skx!4C%{jjjna$0fu~4meVI*7O6OCe`o!y-Wer!h+ zQ2e?%q{uSGGI!a)=j&1Q`1MZ@!P6PL++99!U3KhKA9djfQ{_}ft#DWLpI+g5Q270f zDLk1A@8a&#zjvf?Q0)G&8192z-Cg_VNwERH(o?yBQ(VJco7=6p&j|jryF0o#(9CxM zo0HA$;qEao1$Vpl-Jb4l&8|?1?oHPXTXZq@SQO--mS6?45B(=U4D}$?fCrGw?hLxTCwc9Wnp;e+paj z2P0Z%%4^%ZmhP=}?CZFD7rKGluW$0W{qhr$+~0Bcb@vZu zILuIdWd>ha@cJ8L#_d;rH#dIahYE{0qib_h?g00I{&7wwzXeA2hunSrNsX-?*D0tS zrv7E)+M(9*OImUVx(D`;<+7tuwpC|)$Ia#rau4dy`T508tX;A~IBrMoVE5p%H@>@k z%lIX;{yfTY<}&f5PRAL;fAJ4@;<^0)_k8Wx&hnqf@6xn&dGUn(Ctk#Z?cUz*;uZ3D zVsSnGb``cM-#%f7T^Ga8X1BS2wbPy(>5l9w@SL2@wT^4eZ;wQa+fuv^qZI`?T@KP~ zSlK8_c~aNy9eg{Z5jtA?^W}TGa$__3aqL*g+Q+9`#ZoacD2=?dQ|&i59hjrgi*ns}o}J0onqT(jOEBS#ef%|M;i$GBtqr#kM) zVtZ@Q@T_zj#qmZI7qO-KjipwRg1_w)R+`c(`9ptaaOC zE$DFH%;2&+?66q|pS!t>m;1oA`71uG)6sq0%un(E4|97*r>Vd3Ts4RDr!Xj*f7T4n zz=e&83v(IpJd^yjeDai8Q_#_4n(}+G0mWT0%n)$T-;c9)EPs5;;&CfEZ{oUk&dl>z z$~wi9%YU4*$ybo%sDX3w95BdB4kw$-pPu^Brhk`vr}cF|+s@fM-Z=Z;NG_M;;_`{p zj$3egmNVD}zV;xJdrR^yB-tR&ozlU{eI>c7{P$@ax;G)?Xvug5$zvqxmhYV2=N&eR zGme*x&mze!&J?YkoIF92YmoeiB)^R0iIN;Mnv*9<@o%LBnwEM zCducJJYACW#&YtE@?Jgt-n#v{A$yDKIcLUO+-rpc(6BtMBjYb7V{jdSJ?jR~#@`uN z^M%24kX$zp_?}hzJk~2${B+L|ni%92js245{-`8Bh5FA&GE;n}eCCWmA1LBep zum7NkpEblh5pe^J9QOfPJa=4R@t_dz|3ML-Ziq>UH+)dU4;f;fy|^i!`=E&bXo!b| zcv9{IYU8E3pp7pQ;^RLk;)@LN#X|hR2SxmfA-+V2JH~%NO>x-xpeZgD;)gyc;vX8~ z%Y=Bug#We0p3D{7Ob9H#T!>F*eeeoNj_%^*m6Gg7@?(-b1<9)N_SRvdEJ-nKqa=4m?k$qMAIVLUTrq`{w@UKQNZuyNho*X*zFpFt(>QsDBo9XNPDwtB zY9+gW+ zfv|W7+gIRKm{+#00x!W#`dH-hkNwMDDbiOA)Rm6yL3x%`9h zve)e!_w~s2_8AqGKN-2axbpH-k;}(cUVb`q`I^{eo_x7wo{{To&~VxlPafpAX>ajS zlwT{wzF}AF*<>;2aKrYDVbhw*r3+{5bu6{~Su&l^Jqzl~yDgWpM3Z5mMhDJ2W_#&}oG!kf zEb(&964+24e5Ga)l=xBI5<5eu!vUcM|91Pe##9ri4eV!7Xu}PT{N1-dkxRu?@l$J6y zvMJ*6?pgmB*w2eabDmeY7E>zR4B-tZEp$wzP^N_SFMp`kQj$ONSf!QZFRaKJl$_E9 z3@hxc>GFyzt~)tXYHH$U)eBj^;3p@B$?0Koa+sVECg+4n?gM5haxIzC*)VY(XTZhg z@|#zz9v#bSE$@D1A}d?|R5Gix?0zg!YHazuWLB>HdNQl4yz5m7;H2_H$*ig6G3yhh zddlalU%f@lRQ94-o>Juo9u)sFrCH@yQw!qxHde5=yzkYk$3+H+7^!4}!!f}KR z$#$oBtQN?W-e;G(3+xGx;nD(+2f>tUn&ktsOzC>Qh7DkBm*3kvF;n8(lQSk2&tvqx zy_4PMd(pAk0=vXxrmxeYYk8Yluq0*IeH5k7m(qO` z`N}&S3{+mq^oN zShBVETXv?az%HTg-$#`{L>2yQCoI+hF9`ih zO86n>8YK-^n#0!$Lu?;6-BxHim?eAhJ*5AKAq)(23Xvsv%LjemkeiaGrmvy&dro~L^c<<3G(qt24=dOI9H#i zGNnyO-@=0P??n0z7Ch*D>_C9!#+m~x9=HPRtw{UWyYMWh;Q1IFZpLxO>P_$wb~&;> zCXC9q4BWu&>EEAMbJhg{4t(f=BB70I;j161?EwFZPC{?ZHM@A>JMjO_Q0{LKw=gGLieA5O7SJ>O? z`i*;hXh@&2mluIc)Bp8Ht5;>Xev;cSIb5ax zD_S-(V5|3k)$v-saak@L1NI|S2f+yEezsF*_#(!s2F!^-foCtdX{z;adDilAp$+Nd zP#1fhOrj$`vyL~VvUz@}O}p)R;u_&R5SoadPd9O@Z)3D$%@{2IVEKg5z~$kM5}kCS z7DmTV9ShmGgprt`D~+7NZUzk*?ak0gZ$-q&Dm@uBGCFYT8;NCd7rx_NStfOcSgbaE z)EObmW`}b~tE`)&oJ?E3jpuRMNORuUtuwlAwnx`ZW|-r=F`MJZ$jZtu&PA8j6Ly*H zUCsq_Bl+W8sUX+lxGhpcu2nup;m^bQ4TT+0sJ(CIxOV-JoZnh&8<&-j$^Ae20inYM zcH*)Ne#D=6wnsmcel6p+`9|k+9NS{GM<-9aJ5fjtH9z6M6iN$Uo(; zL>v(&vp6bDW(`(mQDqiSkV)WBG)pFsOzEO%p00-+J|&TtRAyaTnRQuZ7B_#A>ld8G zF7vpQIJs#bhyTrR#%|@z+*iV7P9NyZKBT;Ax7i#Ooxj_3>BP#|YG)>L=w)89`!ju8 zbiFW}(efnyLMzXKlFIWQb2iUQUv>!Pq%a;3vXaV_KvCeJBU>o57`5coMf?s&;YLn( zI<&1a_jh?c2Zxm1*BmKN9$n+}96e?4&GSN#&2MBe1c0DQ913M6McXLJc3nN4A;-i7 zM{oC}fQ_TDY@WlZ>=2LwFL}3tPIP`n72a;yRotCNSjbpm)$QQ913Z8b1fsgEq}mI2 zak98KQxxvzRN)>LSfmCfanteo@oR1u+AgTeE3UGw3>X1wWuh()c#4#8=49$`Bvh0F-?buO$!V`C=XI8R{kff+`-U) z(bh^p1m`Ke=mUnQ!pv$`0zwcNU$oMx?Z7aQe*yX?wgz_L2m>IG153q8% zp>LmUd9MN@IAs@gSrb1`={;ZD%!rk|8PZG;%7avjm4AelyYMw-pH|IEPba#t5r7e( z(u=yn@K{?32tgXSotSdxtF0o)yhh~|A&APpwf%Fr{S?~ zOh5=iX^={>@~^P+Lx$bE%*sr*5*Pt0y{Ib2?mH?jWL znE8Mq2<1Vlnx8EwdN_+zKND`EoD}xdPtjK^nEf2Nh2^3S2tlZQq8?^wB7RnL)6+m6 z7=ln9q^kMZj-p4gu<;Y+q_Dav>XC|NH@Dov@$4QnfFTIAPt+p}kAI^;pHSpGQ{rGwvoJ1X1$j!BOCPrEw^F0*knt zUN(HtjZ8x*D5cd;QTb(TfZ5NJZT$pvANO99k-FyIsAkI4LlDY?R5d@hK+*G9)ag!7{6s-1t$vDnu7cUVF};@25FiAh z_KA9qp-JsdFKzD)7=ln9q^kKj7ey~%QO8el6Xm3^x(U^z^A*f~Ze!~wAc9l-ME$6t zN%b?$O+Y+?R34<#{d8zh>8+nfQC>j$JSysi$`N}W^|DqQ)_@X(K97o8QaWxp>-}m# z2tpm^R1p6aS8?M&HxU%DIdkGN1X=S1k=kZ8k8o!r3|I>sT zi$5>~p*%=Mduc7NAZ%qnN?pW4>94S~(i;LsfJ!gwkm0c&On?xC(jb*$SG@rdatNto)c^|90F;FY$3z z(D(Eb2ANq0=zOANp~o)iew!LFhCr>eWiu$TSQHLHO}6 zlIm>n9d7r?G|Vpx4cyy~X_z)>J#}MXl#{}`$clQsV%f$KbK(<@m-xgr{2&4tg3t~T z^*X~-w_}5T1%x1!2B~Pjde{=wuR+m`%3jw)l#{~hp{QlWvWGJh9#(Y_5b_|^G|_J` zJk}lpLJ&%WRMbOpkY8AA&d^3Bk2)B6{*63-qo9;l4@JFM!R+C_wjKgP5NesIHyIjn z(CYIKU{2h<<<}2(?Vq+YFC|hdR9i zLJ&%WlsL$rKitK4U_nOddhzgXWv}ZY$`OQmDC%8`We-f4KO zJp_axlm@AaF1%VCyidu+L9f>1CkhgTdMN6>3T6*i%#BZ_RVNxi2tq9r^&X$bGm&up zKo}T;P#&ZzJmfd;_%{5wve)gxkIViSN~?!R(E|!*56`jn5D>wsWuo41Xliv~eE$m= zf>0i$Dm=VaJbXym>w1WC1fdR!`U%CdgPZ2s#^1mYgjy!*gNCP;hp`PlKnOx<9!$pH zavSoCRosW4R`$9cqMQ^~4@LcyV%ftl*Xcs+zv&DC3_+-AqJGlwSbGQvK`0GU6yq`$=ha2|7KdV0LNH)+Im$$1ZI+qXCy51rS1ALaM?gezlZc z`Wj!daS7%2lhW!Ebb3O;?9!)fT>?aK?9y3<23&d^KnQgSsS20))mL`uDZXUm63Xo- zrPU?q^rV8>rB`iT0z`1^(t&3-;L_Itgix1|s&GlZ$wc4aOExZ{+yq`w^tNgcN;K!R*osTbBS49J}Ne z8*u4a03p;Rq$*tEZ2%s4-{DI(E}`6hQd(VtPTy8AyR^a9B|rqnF1_1`OWy(zLR~_t z!XmixcC+~c4PyIzYjd{vnJWc{}(p^y`YuVU6)bLlhWFy(CG&XW=sEQ+ogaAP7M|H z`-Z0WDjj_{7#M<39;A{z?0>{aKUDggSCcX^w$hmv*_dNdR-1$uxl>c`?g0-ienO zN@n2OG2q}G2)`P9IVQ$>NiyToWX5I5416gj#v$Hz!I|EOcaeu@%>j{eK!PnJ?2{257WxJ&$FXP!LhXmgCtqd4nj zEnjm6zrkIZSr;ppR_xh|V#k?c&j?%jtPAJw#qRw-KjBACp)yYUR_f6{dO+3l;>&6_ zb@2O=JUnbA?vUU(ACC`D_`i3aj~rnUoEh{Y%<|Ty+a+ebn>?-OCGq40crvW>d@vSX ziE;3UmX(JB{U}x>t;CP(miS5C5otp@ z#2a->yji!z&(li8PdIu@iX4nV`wJxH3>lq+2W0Xng$s(G5l*Il#vlV@kZ>~fON5i@ z0DowUFBT6aF~Mw_E%=ylGW9dU$<)sXCsRKooJ{?Ua5D8XctL4vmg83n?d5+By%bqb zJIX)3$X`#<9QZK;7%J{ZGsOL9hPWTi5ci`Q;(jzkypLvx_ng7&sb8E9z zXok2S%@Fsa8M22(2chL;-ZWTV! z4@?vHqD92LXok2K%@FqvfqPRT?nN`iyJ&`Z7iRDY72;l)lPQUN(F}1fnj!8*GsL}U zhPW5a5bvTH;@u%!moZ-4ixv_04n>KX5%;1Q;$AdE+>2(2chL;-&SY>bQ4;q|4rhpa z(F}1fnj!8*GsL}UhPW5a5bvTH;$6#RxVNZ0|MHi15RSv3&sBFr+xsMAM6-WJ7AM$I z+^rxf>|9=Y#ZCYJP^|xJhhlkWbF2G@gyj!MM{p!6hcJ|yIDvnBvWRpIcW-bw*;G#E zkCSfGS+<}TG2s?s7cr{+i;|384cV@ltNfz9&OID(Z z70GOJqRC=pHA^0^C%mPfRSFzlGudg?EB=KDmy$^N;i&4-`d zX(=9tYhn}5E8`z5sJIxC^6V0&-C$^Ol3ASg0Yi(U#uBu0F{F*NzG_(Uy9+Va?TWuP zwD_@w1g%_*(sILbKYhA<-t|kpjPnOp<)4mTJq@O?yNp>04B|N#audaKF#X1J(2VgM zOu+G+A<6NU@}HnGjL>)?%)#*-Ov3RT%%JfcjNNz+25dA(PI$?)*B*Da>lEES=gi_G zEGAw(6R&%Jh6lw1NM*U97O>LM=d=pwKNvI-m~{_xHlHr`GEj0Nf8n#70739CfT!k+y z;jiNv^58tei96u22ig8cJy^(yz=P1h(1G;pp#$M{9KdHh~R=X5bGr+b`pZ_;0y$T;oJCqJ+09G|;0 zA%hb9FSG6_CbmBA8K*sa{)x-njJ(64@M+x)Qj%!15bd<7 zlIZ+Rv%UMdTAak#lEaVav^lNat2>;&ZJpq3&vyRWyB;1}s}i=k(`jwdA0%>Jmk&Jb z8pS^Wvr`k#P>cC0er>0J7pGm^%arawt$g=o`#LpCf6OMhd`ob-vps`PQ<}Sa#^#?Z z?{VuM-W7Z!F_0(zZ!tXEg2ThIh3`Oomj#CmyYQ@7_@1N-yiJxJ)!oVWH1CpS+c!6H z>Ia-!!>88ms*zBxxux&|XZ0MFZ|6g=B=(u)$geu;1xf1f2{t?Y%*N9?0w&(9;u!@e zWsY#_8+FD9WE6j`JH@I@>CuQ$<)?1T9g4LdKeW|S_#qpb?VH7u>dTzsQ!z`=;Tqr7 z*>O$zSNKoiM=a)G+Wj#n7QDjeYVm}(Mfh_&3h65Rq&)xj$=-}6$C-{U(6-PW4rz`| ziI)a{%frurVX+cY`A@kXK3G!HKjSn1O*hPkq$jFL|vI{mnhJ@Q)G-sT zDZCB}^Wb(fH`NUL@pMXjKxIliY?`}Q%bEDaoB2M=T!{Ju5OQqAyNasu*O0%?~U|_+&bNIy0!}*GDw&cp4(;=NZN+jPuW+X)WJk0zG zW~fPQ86U;FMmq9zW_*^Q7PhWL|mKd%9YF!S)v)FR!_0vL=62_U`H4 zLURAa-e}N^N6A*FXE5vZ^^PdW#q5IeWB2UTvc&=}^ULzT?^);_#Z0}$tvEx&tX#_o z32fY!!ms$!96!k0EiBOL7if(YSREE<^9!_TfhBKl%dP42oW{k*jR^0Bxsl+G2Uc!u zd(UM4&0s9qIX;z9O&MGGRr$qxyV}0N2Dwn)xwmUxpuk8x@M9(|UdZ&~d^5)lnl)5j zc;C`l$M980Kl~Wo?tdhd>vp@{3Hq6x+g-ly(O&OZE>_?Nq^vV~B>(svKY8Hp;|N}( zJHqWtjvUGX-U7_;6QKO$w}i+*ms) zu-0VxD}`8Vnoh1tR<+tEyOWEu*`l>i_FL?M`+MRoHaW0?pDq0sn;h6+viw;|D$JDl z83HYKTC&9=#Zg3Ax^h$dW(0HVliU)nH&u2g{HV#D%D-LBKX5qXw<8>fZ>4GOv;{Bf z3c__1QAc#ZM(U6`Jl-sFRh#7xTvcw0JH_wpKT034_7$0tjViOFXqgf}I>4_&(yy-t zEu%#eBSEf8o$cML`KK$ti?t-tE4k_JgrfYc=Oo7&nPp{h`Ew7>+FSa@>D!AlmT{;r zzcuOqEa^;lX8#tBJE1FjO@B9cg3EMzOE`V}gXyA`r+=b9(zE_Zai^=bJUvX;j+Rf9 zb3M(i{_mKJSvmpFa%c7TI&M$#N;5gSJ=`GY#T&%wJ3mCPX$hw9+3xHa3jcIfc=>mq z=q+a+8@D=~RJcCFR(M-_N#_T*$2Yy1Q}5t{w6B>vU#OfrJ7$(Y`q0edPT<15;j}r| zom0`e^W1r8-8o&+YudVVTn0p1H`Mg4f)<{R%kMq3>xyvl4H|o{Y3#ZFU8Uo|pSFUZ zMjGS?365M|F5mrdKGJ2J!}-OR(Rwm4G9|uW^q$mf0llyJ)BUSJ{T3)`KGT}HKDSSP z(>*$@7Pt%gXX5wl{Y&L9e5U)sI7r6+t%GSR$uKdv#GDqE{hvn(PeTu=rU1ibs6sgaF;C~^XnvQyWe6;~Y``6eHDT>8`*UTNp|%FPYzKFTSbep-%%;9ZyDV-nZz*yV z5@}bt9CVo|+GV9*u%oev($9%RDt=C6A@p-1^Q@l}+{XMvwi!PwGCusAX!T!5J8RcJ ziKLjADMhlMO3#+zSXo+J{uO`Fk)309B82Q$<%=KPI`Sw}^?}IE^8;7&mi)}PjHej? zd2ddUw+sADz@6Nk`e!*AH?O}TT>1oBaC6JK@qGY(2=pIcb4%T&{zFa|Gx`tDJG(n$ z#K^Vs%EzXBSe_Slba!-@`VR|8>65~ahRZi6uS0Xko z|N5(YdhS+CG>wZny~UZ4^rA@mz)1SoNct?3&aL2&Fg7^+BHFH*5`XB}?C$DsdOGe3 zd9xw6ci-;g_Llb=a{D;iR{Og9HoN=qZvlVy@d@LlRTQlKw{PJ`<)1u0b6e2y2-*}M zL1z5oa&TjOKd8C9;E5@VWy~Dl9^mfpkC_Af%>s9S`8YFpxCBb8Jb^-KwU87&m#geA+WchS2 zg6?+_I%F{29Wgq?hN}rS$@1A=0^7UHW{%rJ4%0oDPKT=rI>{0`H_x4TOMKjnZgY9= zhi8Sqp)qw+D%j5t_oT9BL;uU=C%(RT%~Pmfc33 zy^Gr2!;&-aD!q*kOU}H>no!YE?oqLdbmpyEQGDi&R}@U1tAe?6mEMc8-xzf5m_>dw zg&);)@D7u-+?w3cZn^jAu7eXhk89jxDth*K_jvT|FDe`@J-gPlZSGk2SihgjP0vg?MSeeh76_Zs>3p@@Px;g8aqe;Mv3_SE zrJZ%0A@o!#xA{pj;}y@vMKdpXQ$Cp6ZVu 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%0AVzMiPK+Xq9I@ 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 W8`Av^*=G9trnq{^=X diff --git a/src/Sophia_Script_for_Windows_10_LTSC_2019/Functions.ps1 b/src/Sophia_Script_for_Windows_10_LTSC_2019/Functions.ps1 index 09821698..20e75ea0 100644 --- a/src/Sophia_Script_for_Windows_10_LTSC_2019/Functions.ps1 +++ b/src/Sophia_Script_for_Windows_10_LTSC_2019/Functions.ps1 @@ -2,8 +2,8 @@ .SYNOPSIS The TAB completion for functions and their arguments - Version: v5.8.0 - Date: 02.02.2024 + Version: v5.8.1 + Date: 03.03.2024 Copyright (c) 2014—2024 farag Copyright (c) 2019—2024 farag & Inestic @@ -50,7 +50,7 @@ function Sophia Clear-Host -$Host.UI.RawUI.WindowTitle = "Sophia Script for Windows 10 LTSC 2019 v5.8.0 | Made with $([System.Char]::ConvertFromUtf32(0x1F497)) of Windows 10 | $([System.Char]0x00A9) farag & Inestic, 2014$([System.Char]0x2013)2024" +$Host.UI.RawUI.WindowTitle = "Sophia Script for Windows 10 LTSC 2019 v5.8.1 | Made with $([System.Char]::ConvertFromUtf32(0x1F497)) of Windows 10 | $([System.Char]0x00A9) farag & Inestic, 2014$([System.Char]0x2013)2024" Remove-Module -Name Sophia -Force -ErrorAction Ignore Import-Module -Name $PSScriptRoot\Manifest\Sophia.psd1 -PassThru -Force diff --git a/src/Sophia_Script_for_Windows_10_LTSC_2019/Localizations/de-DE/Sophia.psd1 b/src/Sophia_Script_for_Windows_10_LTSC_2019/Localizations/de-DE/Sophia.psd1 index c90bdd19..dfd28561 100644 --- a/src/Sophia_Script_for_Windows_10_LTSC_2019/Localizations/de-DE/Sophia.psd1 +++ b/src/Sophia_Script_for_Windows_10_LTSC_2019/Localizations/de-DE/Sophia.psd1 @@ -24,6 +24,7 @@ WindowsFeaturesTitle = Windows-Features OptionalFeaturesTitle = Optionale Features EnableHardwareVT = Virtualisierung in UEFI aktivieren. UserShellFolderNotEmpty = Im Ordner "{0}" befinden sich noch Dateien \nVerschieben Sie sie manuell an einen neuen Ort. +UserFolderLocationMove = Sie sollten den Speicherort des Benutzerordners nicht in das Stammverzeichnis des Laufwerks C ändern. RetrievingDrivesList = Laufwerksliste abrufen... DriveSelect = Wählen Sie das Laufwerk aus, in dessen Stammverzeichnis der Ordner "{0}" erstellt werden soll. CurrentUserFolderLocation = Der aktuelle Speicherort des Ordners "{0}" lautet: "{1}". diff --git a/src/Sophia_Script_for_Windows_10_LTSC_2019/Localizations/en-US/Sophia.psd1 b/src/Sophia_Script_for_Windows_10_LTSC_2019/Localizations/en-US/Sophia.psd1 index 1619db3e..421afb2e 100644 --- a/src/Sophia_Script_for_Windows_10_LTSC_2019/Localizations/en-US/Sophia.psd1 +++ b/src/Sophia_Script_for_Windows_10_LTSC_2019/Localizations/en-US/Sophia.psd1 @@ -24,6 +24,7 @@ WindowsFeaturesTitle = Windows features OptionalFeaturesTitle = Optional features EnableHardwareVT = Enable Virtualization in UEFI. UserShellFolderNotEmpty = Some files left in the "{0}" folder. Move them manually to a new location. +UserFolderLocationMove = You shouldn't change user folder location to C drive root. RetrievingDrivesList = Retrieving drives list... DriveSelect = Select the drive within the root of which the "{0}" folder will be created. CurrentUserFolderLocation = The current "{0}" folder location: "{1}". diff --git a/src/Sophia_Script_for_Windows_10_LTSC_2019/Localizations/es-ES/Sophia.psd1 b/src/Sophia_Script_for_Windows_10_LTSC_2019/Localizations/es-ES/Sophia.psd1 index 26e68f8b..1b72408d 100644 --- a/src/Sophia_Script_for_Windows_10_LTSC_2019/Localizations/es-ES/Sophia.psd1 +++ b/src/Sophia_Script_for_Windows_10_LTSC_2019/Localizations/es-ES/Sophia.psd1 @@ -24,6 +24,7 @@ WindowsFeaturesTitle = Características de Windows OptionalFeaturesTitle = Características opcionales EnableHardwareVT = Habilitar la virtualización en UEFI. UserShellFolderNotEmpty = Algunos archivos quedan en la carpeta "{0}". Moverlos manualmente a una nueva ubicación. +UserFolderLocationMove = No deberías cambiar la ubicación de la carpeta de usuario a la raíz de la unidad C. RetrievingDrivesList = Recuperando lista de unidades... DriveSelect = Seleccione la unidad dentro de la raíz de la cual se creó la carpeta "{0}". CurrentUserFolderLocation = La ubicación actual de la carpeta "{0}": "{1}". diff --git a/src/Sophia_Script_for_Windows_10_LTSC_2019/Localizations/fr-FR/Sophia.psd1 b/src/Sophia_Script_for_Windows_10_LTSC_2019/Localizations/fr-FR/Sophia.psd1 index c3df291b..9c624ebd 100644 --- a/src/Sophia_Script_for_Windows_10_LTSC_2019/Localizations/fr-FR/Sophia.psd1 +++ b/src/Sophia_Script_for_Windows_10_LTSC_2019/Localizations/fr-FR/Sophia.psd1 @@ -24,6 +24,7 @@ WindowsFeaturesTitle = Fonctionnalités OptionalFeaturesTitle = Fonctionnalités optionnelles EnableHardwareVT = Activer la virtualisation dans UEFI. UserShellFolderNotEmpty = Certains fichiers laissés dans le dossier "{0}". Déplacer les manuellement vers un nouvel emplacement. +UserFolderLocationMove = Vous ne devez pas changer l'emplacement du dossier de l'utilisateur pour la racine du lecteur C. RetrievingDrivesList = Récupération de la liste des lecteurs... DriveSelect = Sélectionnez le disque à la racine dans lequel le dossier "{0}" sera créé. CurrentUserFolderLocation = L'emplacement actuel du dossier "{0}": "{1}". diff --git a/src/Sophia_Script_for_Windows_10_LTSC_2019/Localizations/hu-HU/Sophia.psd1 b/src/Sophia_Script_for_Windows_10_LTSC_2019/Localizations/hu-HU/Sophia.psd1 index db21dfe1..ab442223 100644 --- a/src/Sophia_Script_for_Windows_10_LTSC_2019/Localizations/hu-HU/Sophia.psd1 +++ b/src/Sophia_Script_for_Windows_10_LTSC_2019/Localizations/hu-HU/Sophia.psd1 @@ -24,6 +24,7 @@ WindowsFeaturesTitle = Windows szolgáltatások OptionalFeaturesTitle = Opcionális szolgáltatások EnableHardwareVT = Virtualizáció engedélyezése UEFI-ben. UserShellFolderNotEmpty = Néhány fájl maradt a "{0}" könyvtárban. Kérem helyezze át ezeket egy új helyre. +UserFolderLocationMove = Nem szabad megváltoztatni a felhasználói mappa helyét a C meghajtó gyökerére. RetrievingDrivesList = A meghajtók listájának lekérése... DriveSelect = Válassza ki a meghajtó jelét a gyökérkönyvtárban ahol a "{0}" könyvtár létre lesz hozva. CurrentUserFolderLocation = Az aktuális "{0}" mappa helye: "{1}". diff --git a/src/Sophia_Script_for_Windows_10_LTSC_2019/Localizations/it-IT/Sophia.psd1 b/src/Sophia_Script_for_Windows_10_LTSC_2019/Localizations/it-IT/Sophia.psd1 index 5c531768..07089b26 100644 --- a/src/Sophia_Script_for_Windows_10_LTSC_2019/Localizations/it-IT/Sophia.psd1 +++ b/src/Sophia_Script_for_Windows_10_LTSC_2019/Localizations/it-IT/Sophia.psd1 @@ -24,6 +24,7 @@ WindowsFeaturesTitle = Funzionalità di Windows OptionalFeaturesTitle = Caratteristiche opzionali EnableHardwareVT = Abilita virtualizzazione in UEFI. UserShellFolderNotEmpty = Alcuni file rimasti nella cartella "{0}". Spostali manualmente in una nuova posizione. +UserFolderLocationMove = Non si dovrebbe modificare la posizione della cartella utente nella radice dell'unità C. RetrievingDrivesList = Recupero lista unità... DriveSelect = Selezionare l'unità all'interno della radice del quale verrà creato la cartella "{0}" . CurrentUserFolderLocation = La posizione attuale della cartella "{0}": "{1}". diff --git a/src/Sophia_Script_for_Windows_10_LTSC_2019/Localizations/pl-PL/Sophia.psd1 b/src/Sophia_Script_for_Windows_10_LTSC_2019/Localizations/pl-PL/Sophia.psd1 index 8a94625e..b0e3edaf 100644 --- a/src/Sophia_Script_for_Windows_10_LTSC_2019/Localizations/pl-PL/Sophia.psd1 +++ b/src/Sophia_Script_for_Windows_10_LTSC_2019/Localizations/pl-PL/Sophia.psd1 @@ -24,6 +24,7 @@ WindowsFeaturesTitle = Funkcje Windows OptionalFeaturesTitle = Funkcje opcjonalne EnableHardwareVT = Włącz wirtualizację w UEFI. UserShellFolderNotEmpty = Niektóre pliki pozostały w folderze "{0}". Przenieś je ręcznie w nowe miejsce. +UserFolderLocationMove = Nie należy zmieniać lokalizacji folderu użytkownika na katalog główny dysku C. RetrievingDrivesList = Pobieranie listy dysków... DriveSelect = Wybierz dysk w katalogu głównym, w którym zostanie utworzony folder "{0}". CurrentUserFolderLocation = Lokalizacja folderu "{0}": "{1}". diff --git a/src/Sophia_Script_for_Windows_10_LTSC_2019/Localizations/pt-BR/Sophia.psd1 b/src/Sophia_Script_for_Windows_10_LTSC_2019/Localizations/pt-BR/Sophia.psd1 index c7a4a795..2164afd6 100644 --- a/src/Sophia_Script_for_Windows_10_LTSC_2019/Localizations/pt-BR/Sophia.psd1 +++ b/src/Sophia_Script_for_Windows_10_LTSC_2019/Localizations/pt-BR/Sophia.psd1 @@ -24,6 +24,7 @@ WindowsFeaturesTitle = Recursos do Windows OptionalFeaturesTitle = Recursos opcionais EnableHardwareVT = Habilitar virtualização em UEFI. UserShellFolderNotEmpty = Alguns arquivos deixados na pasta "{0}". Movê-los manualmente para um novo local. +UserFolderLocationMove = Você não deve alterar o local da pasta do usuário para a raiz da unidade C. RetrievingDrivesList = Recuperando lista de unidades... DriveSelect = Selecione a unidade dentro da raiz da qual a pasta "{0}" será criada. CurrentUserFolderLocation = A localização actual da pasta "{0}": "{1}". diff --git a/src/Sophia_Script_for_Windows_10_LTSC_2019/Localizations/ru-RU/Sophia.psd1 b/src/Sophia_Script_for_Windows_10_LTSC_2019/Localizations/ru-RU/Sophia.psd1 index 96dec0b2..d354100c 100644 --- a/src/Sophia_Script_for_Windows_10_LTSC_2019/Localizations/ru-RU/Sophia.psd1 +++ b/src/Sophia_Script_for_Windows_10_LTSC_2019/Localizations/ru-RU/Sophia.psd1 @@ -24,6 +24,7 @@ WindowsFeaturesTitle = Компоненты Windows OptionalFeaturesTitle = Дополнительные компоненты EnableHardwareVT = Включите виртуализацию в UEFI. UserShellFolderNotEmpty = В папке "{0}" остались файлы. Переместите их вручную в новое расположение. +UserFolderLocationMove = Не следует перемещать пользовательские папки в корень диска C. RetrievingDrivesList = Получение списка дисков... DriveSelect = Выберите диск, в корне которого будет создана папка "{0}". CurrentUserFolderLocation = Текущее расположение папки "{0}": "{1}". diff --git a/src/Sophia_Script_for_Windows_10_LTSC_2019/Localizations/tr-TR/Sophia.psd1 b/src/Sophia_Script_for_Windows_10_LTSC_2019/Localizations/tr-TR/Sophia.psd1 index 549ea0ab..c7d51384 100644 --- a/src/Sophia_Script_for_Windows_10_LTSC_2019/Localizations/tr-TR/Sophia.psd1 +++ b/src/Sophia_Script_for_Windows_10_LTSC_2019/Localizations/tr-TR/Sophia.psd1 @@ -24,6 +24,7 @@ WindowsFeaturesTitle = Características do Windows OptionalFeaturesTitle = Opsiyonel özellikler EnableHardwareVT = UEFI'dan sanallaştırmayı aktifleştirin. UserShellFolderNotEmpty = "{0}" klasöründe bazı dosyalar kaldı. \nKendiniz yeni konuma taşıyın. +UserFolderLocationMove = Kullanıcı klasörü konumunu C sürücüsü kökü olarak değiştirmemelisiniz. RetrievingDrivesList = Sürücü listesi alınıyor... DriveSelect = "{0}" klasörünün oluşturulacağı kök içindeki sürücüyü seçin. CurrentUserFolderLocation = Geçerli "{0}" klasör konumu: "{1}". diff --git a/src/Sophia_Script_for_Windows_10_LTSC_2019/Localizations/uk-UA/Sophia.psd1 b/src/Sophia_Script_for_Windows_10_LTSC_2019/Localizations/uk-UA/Sophia.psd1 index d0e8f945..1c7244c4 100644 --- a/src/Sophia_Script_for_Windows_10_LTSC_2019/Localizations/uk-UA/Sophia.psd1 +++ b/src/Sophia_Script_for_Windows_10_LTSC_2019/Localizations/uk-UA/Sophia.psd1 @@ -24,6 +24,7 @@ WindowsFeaturesTitle = Компоненти Windows OptionalFeaturesTitle = Додаткові компоненти EnableHardwareVT = Увімкніть віртуалізацію в UEFI. UserShellFolderNotEmpty = У папці "{0}" залишилися файли. Перемістіть їх вручну в нове розташування. +UserFolderLocationMove = Не слід переміщати користувацькі папки в корінь диска C. RetrievingDrivesList = Отримання списку дисків... DriveSelect = Виберіть диск, в корні якого буде створена папка для "{0}". CurrentUserFolderLocation = Поточне розташування папки "{0}": "{1}". diff --git a/src/Sophia_Script_for_Windows_10_LTSC_2019/Localizations/zh-CN/Sophia.psd1 b/src/Sophia_Script_for_Windows_10_LTSC_2019/Localizations/zh-CN/Sophia.psd1 index 0c728d72..e94120ef 100644 --- a/src/Sophia_Script_for_Windows_10_LTSC_2019/Localizations/zh-CN/Sophia.psd1 +++ b/src/Sophia_Script_for_Windows_10_LTSC_2019/Localizations/zh-CN/Sophia.psd1 @@ -24,6 +24,7 @@ WindowsFeaturesTitle = Windows功能 OptionalFeaturesTitle = 可选功能 EnableHardwareVT = UEFI中开启虚拟化。 UserShellFolderNotEmpty = 一些文件留在了"{0}"文件夹。请手动将它们移到一个新位置。 +UserFolderLocationMove = 不应将用户文件夹位置更改为 C 盘根目录。 RetrievingDrivesList = 取得驱动器列表..... DriveSelect = 选择将在其根目录中创建"{0}"文件夹的驱动器。 CurrentUserFolderLocation = 当前"{0}"文件夹的位置:"{1}"。 diff --git a/src/Sophia_Script_for_Windows_10_LTSC_2019/Manifest/Sophia.psd1 b/src/Sophia_Script_for_Windows_10_LTSC_2019/Manifest/Sophia.psd1 index 20f31da5..c796b4bc 100644 --- a/src/Sophia_Script_for_Windows_10_LTSC_2019/Manifest/Sophia.psd1 +++ b/src/Sophia_Script_for_Windows_10_LTSC_2019/Manifest/Sophia.psd1 @@ -1,6 +1,6 @@ @{ RootModule = '..\Module\Sophia.psm1' - ModuleVersion = '5.8.0' + ModuleVersion = '5.8.1' GUID = 'a36a65ca-70f9-43df-856c-3048fc5e7f01' Author = 'Dmitry "farag" Nefedov' Copyright = '(c) 2014—2024 farag & Inestic. All rights reserved' diff --git a/src/Sophia_Script_for_Windows_10_LTSC_2019/Module/Sophia.psm1 b/src/Sophia_Script_for_Windows_10_LTSC_2019/Module/Sophia.psm1 index f1357e4a..6703233b 100644 --- a/src/Sophia_Script_for_Windows_10_LTSC_2019/Module/Sophia.psm1 +++ b/src/Sophia_Script_for_Windows_10_LTSC_2019/Module/Sophia.psm1 @@ -2,8 +2,8 @@ .SYNOPSIS Sophia Script is a PowerShell module for Windows 10 & Windows 11 fine-tuning and automating the routine tasks - Version: v5.8.0 - Date: 02.02.2024 + Version: v5.8.1 + Date: 03.03.2024 Copyright (c) 2014—2024 farag Copyright (c) 2019—2024 farag & Inestic @@ -130,6 +130,44 @@ public static string GetIndirectString(string indirectString) Start-Process -FilePath "https://github.com/PowerShell/PowerShell/releases/latest" Start-Process -FilePath "https://github.com/farag2/Sophia-Script-for-Windows/releases/latest" + Start-Process -FilePath "https://github.com/PowerShell/PowerShell/issues/21070" + + exit + } + } + + $Signature = @{ + Namespace = "WinAPI" + Name = "ForegroundWindow" + Language = "CSharp" + MemberDefinition = @" +[DllImport("user32.dll")] +public static extern bool ShowWindowAsync(IntPtr hWnd, int nCmdShow); + +[DllImport("user32.dll")] +[return: MarshalAs(UnmanagedType.Bool)] +public static extern bool SetForegroundWindow(IntPtr hWnd); +"@ + } + + if (-not ("WinAPI.ForegroundWindow" -as [type])) + { + try + { + Add-Type @Signature + } + catch [System.ComponentModel.Win32Exception] + { + Write-Warning -Message $Localization.NonLatinUsernameWarning + + Start-Process -FilePath "https://t.me/sophia_chat" + Start-Process -FilePath "https://discord.gg/sSryhaEv79" + + Start-Process -FilePath "https://github.com/PowerShell/PowerShell/releases/latest" + Start-Process -FilePath "https://github.com/farag2/Sophia-Script-for-Windows/releases/latest" + + Start-Process -FilePath "https://github.com/PowerShell/PowerShell/issues/21070" + exit } } @@ -1608,26 +1646,7 @@ function ScheduledTasks Add-Type -AssemblyName System.Windows.Forms - $Signature = @{ - Namespace = "WinAPI" - Name = "ForegroundWindow" - Language = "CSharp" - MemberDefinition = @" -[DllImport("user32.dll")] -public static extern bool ShowWindowAsync(IntPtr hWnd, int nCmdShow); - -[DllImport("user32.dll")] -[return: MarshalAs(UnmanagedType.Bool)] -public static extern bool SetForegroundWindow(IntPtr hWnd); -"@ - } - - if (-not ("WinAPI.ForegroundWindow" -as [type])) - { - Add-Type @Signature - } - - Get-Process | Where-Object -FilterScript {($_.ProcessName -eq "powershell") -and ($_.MainWindowTitle -match "Sophia Script for Windows 10 LTSC")} | ForEach-Object -Process { + Get-Process | Where-Object -FilterScript {($_.ProcessName -eq "powershell") -and ($_.MainWindowTitle -match "Sophia Script for Windows 10 LTSC 2019")} | ForEach-Object -Process { # Show window, if minimized [WinAPI.ForegroundWindow]::ShowWindowAsync($_.MainWindowHandle, 10) @@ -5272,26 +5291,7 @@ function WindowsFeatures Add-Type -AssemblyName System.Windows.Forms - $Signature = @{ - Namespace = "WinAPI" - Name = "ForegroundWindow" - Language = "CSharp" - MemberDefinition = @" -[DllImport("user32.dll")] -public static extern bool ShowWindowAsync(IntPtr hWnd, int nCmdShow); - -[DllImport("user32.dll")] -[return: MarshalAs(UnmanagedType.Bool)] -public static extern bool SetForegroundWindow(IntPtr hWnd); -"@ - } - - if (-not ("WinAPI.ForegroundWindow" -as [type])) - { - Add-Type @Signature - } - - Get-Process | Where-Object -FilterScript {($_.ProcessName -eq "powershell") -and ($_.MainWindowTitle -match "Sophia Script for Windows 10 LTSC")} | ForEach-Object -Process { + Get-Process | Where-Object -FilterScript {($_.ProcessName -eq "powershell") -and ($_.MainWindowTitle -match "Sophia Script for Windows 10 LTSC 2019")} | ForEach-Object -Process { # Show window, if minimized [WinAPI.ForegroundWindow]::ShowWindowAsync($_.MainWindowHandle, 10) @@ -5650,26 +5650,7 @@ function WindowsCapabilities Add-Type -AssemblyName System.Windows.Forms - $Signature = @{ - Namespace = "WinAPI" - Name = "ForegroundWindow" - Language = "CSharp" - MemberDefinition = @" -[DllImport("user32.dll")] -public static extern bool ShowWindowAsync(IntPtr hWnd, int nCmdShow); - -[DllImport("user32.dll")] -[return: MarshalAs(UnmanagedType.Bool)] -public static extern bool SetForegroundWindow(IntPtr hWnd); -"@ - } - - if (-not ("WinAPI.ForegroundWindow" -as [type])) - { - Add-Type @Signature - } - - Get-Process | Where-Object -FilterScript {($_.ProcessName -eq "powershell") -and ($_.MainWindowTitle -match "Sophia Script for Windows 10 LTSC")} | ForEach-Object -Process { + Get-Process | Where-Object -FilterScript {($_.ProcessName -eq "powershell") -and ($_.MainWindowTitle -match "Sophia Script for Windows 10 LTSC 2019")} | ForEach-Object -Process { # Show window, if minimized [WinAPI.ForegroundWindow]::ShowWindowAsync($_.MainWindowHandle, 10) @@ -6308,13 +6289,21 @@ public extern static int SHSetKnownFolderPath(ref Guid folderId, uint flags, Int { "Root" { - Write-Information -MessageData "" -InformationAction Continue - Write-Verbose -Message $Localization.RetrievingDrivesList -Verbose - # Store all fixed disks' letters to use them within Show-Menu function # https://learn.microsoft.com/en-us/dotnet/api/system.io.drivetype?view=net-7.0#fields $DriveLetters = @((Get-CimInstance -ClassName CIM_LogicalDisk | Where-Object -FilterScript {$_.DriveType -eq 3}).DeviceID | Sort-Object) + if ($DriveLetters.Count -eq 1) + { + Write-Information -MessageData "" -InformationAction Continue + Write-Verbose -Message $Localization.UserFolderLocationMove -Verbose + + return + } + + Write-Information -MessageData "" -InformationAction Continue + Write-Verbose -Message $Localization.RetrievingDrivesList -Verbose + # Desktop Write-Information -MessageData "" -InformationAction Continue Write-Verbose -Message ($Localization.DriveSelect -f [WinAPI.GetStrings]::GetString(21769)) -Verbose @@ -6512,7 +6501,17 @@ public extern static int SHSetKnownFolderPath(ref Guid folderId, uint flags, Int if ($FolderBrowserDialog.SelectedPath) { - Set-UserShellFolder -UserFolder Desktop -FolderPath $FolderBrowserDialog.SelectedPath + if ($FolderBrowserDialog.SelectedPath -eq "C:\") + { + Write-Information -MessageData "" -InformationAction Continue + Write-Verbose -Message $Localization.UserFolderLocationMove -Verbose + + continue + } + else + { + Set-UserShellFolder -UserFolder Desktop -FolderPath $FolderBrowserDialog.SelectedPath + } } } $Skip @@ -6552,7 +6551,17 @@ public extern static int SHSetKnownFolderPath(ref Guid folderId, uint flags, Int if ($FolderBrowserDialog.SelectedPath) { - Set-UserShellFolder -UserFolder Documents -FolderPath $FolderBrowserDialog.SelectedPath + if ($FolderBrowserDialog.SelectedPath -eq "C:\") + { + Write-Information -MessageData "" -InformationAction Continue + Write-Verbose -Message $Localization.UserFolderLocationMove -Verbose + + continue + } + else + { + Set-UserShellFolder -UserFolder Documents -FolderPath $FolderBrowserDialog.SelectedPath + } } } $Skip @@ -6592,7 +6601,17 @@ public extern static int SHSetKnownFolderPath(ref Guid folderId, uint flags, Int if ($FolderBrowserDialog.SelectedPath) { - Set-UserShellFolder -UserFolder Downloads -FolderPath $FolderBrowserDialog.SelectedPath + if ($FolderBrowserDialog.SelectedPath -eq "C:\") + { + Write-Information -MessageData "" -InformationAction Continue + Write-Verbose -Message $Localization.UserFolderLocationMove -Verbose + + continue + } + else + { + Set-UserShellFolder -UserFolder Downloads -FolderPath $FolderBrowserDialog.SelectedPath + } } } $Skip @@ -6632,7 +6651,17 @@ public extern static int SHSetKnownFolderPath(ref Guid folderId, uint flags, Int if ($FolderBrowserDialog.SelectedPath) { - Set-UserShellFolder -UserFolder Music -FolderPath $FolderBrowserDialog.SelectedPath + if ($FolderBrowserDialog.SelectedPath -eq "C:\") + { + Write-Information -MessageData "" -InformationAction Continue + Write-Verbose -Message $Localization.UserFolderLocationMove -Verbose + + continue + } + else + { + Set-UserShellFolder -UserFolder Music -FolderPath $FolderBrowserDialog.SelectedPath + } } } $Skip @@ -6672,7 +6701,17 @@ public extern static int SHSetKnownFolderPath(ref Guid folderId, uint flags, Int if ($FolderBrowserDialog.SelectedPath) { - Set-UserShellFolder -UserFolder Pictures -FolderPath $FolderBrowserDialog.SelectedPath + if ($FolderBrowserDialog.SelectedPath -eq "C:\") + { + Write-Information -MessageData "" -InformationAction Continue + Write-Verbose -Message $Localization.UserFolderLocationMove -Verbose + + continue + } + else + { + Set-UserShellFolder -UserFolder Pictures -FolderPath $FolderBrowserDialog.SelectedPath + } } } $Skip @@ -6712,7 +6751,17 @@ public extern static int SHSetKnownFolderPath(ref Guid folderId, uint flags, Int if ($FolderBrowserDialog.SelectedPath) { - Set-UserShellFolder -UserFolder Videos -FolderPath $FolderBrowserDialog.SelectedPath + if ($FolderBrowserDialog.SelectedPath -eq "C:\") + { + Write-Information -MessageData "" -InformationAction Continue + Write-Verbose -Message $Localization.UserFolderLocationMove -Verbose + + continue + } + else + { + Set-UserShellFolder -UserFolder Videos -FolderPath $FolderBrowserDialog.SelectedPath + } } } $Skip @@ -8744,7 +8793,7 @@ function InstallDotNetRuntimes param ( [Parameter( - Mandatory = $false, + Mandatory = $true, ParameterSetName = "Runtimes" )] [ValidateSet("NET6x86", "NET6x64", "NET7x86", "NET7x64", "NET8x86", "NET8x64")] @@ -9711,7 +9760,7 @@ public static extern bool ShowWindowAsync(IntPtr hWnd, int nCmdShow); } `$ProcessInfo = New-Object -TypeName System.Diagnostics.ProcessStartInfo -`$ProcessInfo.FileName = """`$env:SystemRoot\System32\dism.exe""" +`$ProcessInfo.FileName = """`$env:SystemRoot\System32\Dism.exe""" `$ProcessInfo.Arguments = """/Online /English /Cleanup-Image /StartComponentCleanup /NoRestart""" `$ProcessInfo.UseShellExecute = `$true `$ProcessInfo.WindowStyle = [System.Diagnostics.ProcessWindowStyle]::Minimized @@ -11262,58 +11311,57 @@ function WindowsSandbox $Enable ) + if (-not (Get-WindowsEdition -Online | Where-Object -FilterScript {($_.Edition -eq "Professional") -or ($_.Edition -like "Enterprise*")})) + { + return + } + switch ($PSCmdlet.ParameterSetName) { "Disable" { - if (Get-WindowsEdition -Online | Where-Object -FilterScript {($_.Edition -eq "Professional") -or ($_.Edition -like "Enterprise*")}) + # Checking whether x86 virtualization is enabled in the firmware + if ((Get-CimInstance -ClassName CIM_Processor).VirtualizationFirmwareEnabled) { - # Checking whether x86 virtualization is enabled in the firmware - if ((Get-CimInstance -ClassName CIM_Processor).VirtualizationFirmwareEnabled) - { - Disable-WindowsOptionalFeature -FeatureName Containers-DisposableClientVM -Online -NoRestart - } - else + Disable-WindowsOptionalFeature -FeatureName Containers-DisposableClientVM -Online -NoRestart + } + else + { + try { - try + # Determining whether Hyper-V is enabled + if ((Get-CimInstance -ClassName CIM_ComputerSystem).HypervisorPresent) { - # Determining whether Hyper-V is enabled - if ((Get-CimInstance -ClassName CIM_ComputerSystem).HypervisorPresent) - { - Disable-WindowsOptionalFeature -FeatureName Containers-DisposableClientVM -Online -NoRestart - } - } - catch [System.Exception] - { - Write-Error -Message $Localization.EnableHardwareVT -ErrorAction SilentlyContinue + Disable-WindowsOptionalFeature -FeatureName Containers-DisposableClientVM -Online -NoRestart } } + catch [System.Exception] + { + Write-Error -Message $Localization.EnableHardwareVT -ErrorAction SilentlyContinue + } } } "Enable" { - if (Get-WindowsEdition -Online | Where-Object -FilterScript {($_.Edition -eq "Professional") -or ($_.Edition -like "Enterprise*")}) + # Checking whether x86 virtualization is enabled in the firmware + if ((Get-CimInstance -ClassName CIM_Processor).VirtualizationFirmwareEnabled) { - # Checking whether x86 virtualization is enabled in the firmware - if ((Get-CimInstance -ClassName CIM_Processor).VirtualizationFirmwareEnabled) - { - Enable-WindowsOptionalFeature -FeatureName Containers-DisposableClientVM -All -Online -NoRestart - } - else + Enable-WindowsOptionalFeature -FeatureName Containers-DisposableClientVM -All -Online -NoRestart + } + else + { + try { - try + # Determining whether Hyper-V is enabled + if ((Get-CimInstance -ClassName CIM_ComputerSystem).HypervisorPresent) { - # Determining whether Hyper-V is enabled - if ((Get-CimInstance -ClassName CIM_ComputerSystem).HypervisorPresent) - { - Enable-WindowsOptionalFeature -FeatureName Containers-DisposableClientVM -All -Online -NoRestart - } - } - catch [System.Exception] - { - Write-Error -Message $Localization.EnableHardwareVT -ErrorAction SilentlyContinue + Enable-WindowsOptionalFeature -FeatureName Containers-DisposableClientVM -All -Online -NoRestart } } + catch [System.Exception] + { + Write-Error -Message $Localization.EnableHardwareVT -ErrorAction SilentlyContinue + } } } } @@ -11526,19 +11574,21 @@ function CastToDeviceContext $Show ) + Remove-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked" -Name "{7AD84985-87B4-4a16-BE58-8B72A5B390F7}" -Force -ErrorAction Ignore + switch ($PSCmdlet.ParameterSetName) { "Hide" { - if (-not (Test-Path -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked")) + if (-not (Test-Path -Path "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked")) { - New-Item -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked" -Force + New-Item -Path "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked" -Force } - New-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked" -Name "{7AD84985-87B4-4a16-BE58-8B72A5B390F7}" -PropertyType String -Value "Play to menu" -Force + New-ItemProperty -Path "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked" -Name "{7AD84985-87B4-4a16-BE58-8B72A5B390F7}" -PropertyType String -Value "" -Force } "Show" { - Remove-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked" -Name "{7AD84985-87B4-4a16-BE58-8B72A5B390F7}" -Force -ErrorAction Ignore + Remove-ItemProperty -Path "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked" -Name "{7AD84985-87B4-4a16-BE58-8B72A5B390F7}" -Force -ErrorAction Ignore } } } @@ -11581,19 +11631,21 @@ function ShareContext $Show ) + Remove-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked" -Name "{E2BF9676-5F8F-435C-97EB-11607A5BEDF7}" -Force -ErrorAction Ignore + switch ($PSCmdlet.ParameterSetName) { "Hide" { - if (-not (Test-Path -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked")) + if (-not (Test-Path -Path "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked")) { - New-Item -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked" -Force + New-Item -Path "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked" -Force } - New-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked" -Name "{E2BF9676-5F8F-435C-97EB-11607A5BEDF7}" -PropertyType String -Value "" -Force + New-ItemProperty -Path "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked" -Name "{E2BF9676-5F8F-435C-97EB-11607A5BEDF7}" -PropertyType String -Value "" -Force } "Show" { - Remove-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked" -Name "{E2BF9676-5F8F-435C-97EB-11607A5BEDF7}" -Force -ErrorAction Ignore + Remove-ItemProperty -Path "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked" -Name "{E2BF9676-5F8F-435C-97EB-11607A5BEDF7}" -Force -ErrorAction Ignore } } } @@ -11636,6 +11688,13 @@ function EditWithPaint3DContext $Show ) + if (-not (Get-AppxPackage -Name Microsoft.MSPaint)) + { + return + } + + $Extensions = @(".bmp", ".gif", ".jpe", ".jpeg", ".jpg", ".png", ".tif", ".tiff") + switch ($PSCmdlet.ParameterSetName) { "Hide" diff --git a/src/Sophia_Script_for_Windows_10_LTSC_2019/Sophia.ps1 b/src/Sophia_Script_for_Windows_10_LTSC_2019/Sophia.ps1 index d9323590..cb6307dc 100644 --- a/src/Sophia_Script_for_Windows_10_LTSC_2019/Sophia.ps1 +++ b/src/Sophia_Script_for_Windows_10_LTSC_2019/Sophia.ps1 @@ -2,8 +2,8 @@ .SYNOPSIS Default preset file for "Sophia Script for Windows 10 LTSC 2019" - Version: v5.8.0 - Date: 02.02.2024 + Version: v5.8.1 + Date: 03.03.2024 Copyright (c) 2014—2024 farag Copyright (c) 2019—2024 farag & Inestic @@ -70,7 +70,7 @@ param Clear-Host -$Host.UI.RawUI.WindowTitle = "Sophia Script for Windows 10 LTSC 2019 v5.8.0 | Made with $([System.Char]::ConvertFromUtf32(0x1F497)) of Windows | $([System.Char]0x00A9) farag & Inestic, 2014$([System.Char]0x2013)2024" +$Host.UI.RawUI.WindowTitle = "Sophia Script for Windows 10 LTSC 2019 v5.8.1 | Made with $([System.Char]::ConvertFromUtf32(0x1F497)) of Windows | $([System.Char]0x00A9) farag & Inestic, 2014$([System.Char]0x2013)2024" Remove-Module -Name Sophia -Force -ErrorAction Ignore Import-LocalizedData -BindingVariable Global:Localization -BaseDirectory $PSScriptRoot\Localizations -FileName Sophia @@ -788,8 +788,8 @@ ActiveHours -Automatically InstallVCRedist <# - Install the latest .NET Desktop Runtime 6, 7 (x86/x64) - Установить последнюю версию .NET Desktop Runtime 6, 7 (x86/x64) + Install the latest .NET Desktop Runtime 6, 7, 8 (x86/x64) + Установить последнюю версию .NET Desktop Runtime 6, 7, 8 (x86/x64) https://dotnet.microsoft.com/en-us/download/dotnet #> diff --git a/src/Sophia_Script_for_Windows_10_LTSC_2021/Functions.ps1 b/src/Sophia_Script_for_Windows_10_LTSC_2021/Functions.ps1 index a041ee7b..1b78d58f 100644 --- a/src/Sophia_Script_for_Windows_10_LTSC_2021/Functions.ps1 +++ b/src/Sophia_Script_for_Windows_10_LTSC_2021/Functions.ps1 @@ -2,8 +2,8 @@ .SYNOPSIS The TAB completion for functions and their arguments - Version: v5.18.0 - Date: 02.02.2024 + Version: v5.18.1 + Date: 03.03.2024 Copyright (c) 2014—2024 farag Copyright (c) 2019—2024 farag & Inestic @@ -50,7 +50,7 @@ function Sophia Clear-Host -$Host.UI.RawUI.WindowTitle = "Sophia Script for Windows 10 LTSC 2021 v5.18.0 | Made with $([System.Char]::ConvertFromUtf32(0x1F497)) of Windows | $([System.Char]0x00A9) farag & Inestic, 2014$([System.Char]0x2013)2024" +$Host.UI.RawUI.WindowTitle = "Sophia Script for Windows 10 LTSC 2021 v5.18.1 | Made with $([System.Char]::ConvertFromUtf32(0x1F497)) of Windows | $([System.Char]0x00A9) farag & Inestic, 2014$([System.Char]0x2013)2024" Remove-Module -Name Sophia -Force -ErrorAction Ignore Import-Module -Name $PSScriptRoot\Manifest\Sophia.psd1 -PassThru -Force diff --git a/src/Sophia_Script_for_Windows_10_LTSC_2021/Localizations/de-DE/Sophia.psd1 b/src/Sophia_Script_for_Windows_10_LTSC_2021/Localizations/de-DE/Sophia.psd1 index 3599471a..6a3cd5ff 100644 --- a/src/Sophia_Script_for_Windows_10_LTSC_2021/Localizations/de-DE/Sophia.psd1 +++ b/src/Sophia_Script_for_Windows_10_LTSC_2021/Localizations/de-DE/Sophia.psd1 @@ -24,6 +24,7 @@ WindowsFeaturesTitle = Windows-Features OptionalFeaturesTitle = Optionale Features EnableHardwareVT = Virtualisierung in UEFI aktivieren. UserShellFolderNotEmpty = Im Ordner "{0}" befinden sich noch Dateien \nVerschieben Sie sie manuell an einen neuen Ort. +UserFolderLocationMove = Sie sollten den Speicherort des Benutzerordners nicht in das Stammverzeichnis des Laufwerks C ändern. RetrievingDrivesList = Laufwerksliste abrufen... DriveSelect = Wählen Sie das Laufwerk aus, in dessen Stammverzeichnis der Ordner "{0}" erstellt werden soll. CurrentUserFolderLocation = Der aktuelle Speicherort des Ordners "{0}" lautet: "{1}". diff --git a/src/Sophia_Script_for_Windows_10_LTSC_2021/Localizations/en-US/Sophia.psd1 b/src/Sophia_Script_for_Windows_10_LTSC_2021/Localizations/en-US/Sophia.psd1 index 251e3f59..522bc9ba 100644 --- a/src/Sophia_Script_for_Windows_10_LTSC_2021/Localizations/en-US/Sophia.psd1 +++ b/src/Sophia_Script_for_Windows_10_LTSC_2021/Localizations/en-US/Sophia.psd1 @@ -24,6 +24,7 @@ WindowsFeaturesTitle = Windows features OptionalFeaturesTitle = Optional features EnableHardwareVT = Enable Virtualization in UEFI. UserShellFolderNotEmpty = Some files left in the "{0}" folder. Move them manually to a new location. +UserFolderLocationMove = You shouldn't change user folder location to C drive root. RetrievingDrivesList = Retrieving drives list... DriveSelect = Select the drive within the root of which the "{0}" folder will be created. CurrentUserFolderLocation = The current "{0}" folder location: "{1}". diff --git a/src/Sophia_Script_for_Windows_10_LTSC_2021/Localizations/es-ES/Sophia.psd1 b/src/Sophia_Script_for_Windows_10_LTSC_2021/Localizations/es-ES/Sophia.psd1 index 5b33f951..75b831c4 100644 --- a/src/Sophia_Script_for_Windows_10_LTSC_2021/Localizations/es-ES/Sophia.psd1 +++ b/src/Sophia_Script_for_Windows_10_LTSC_2021/Localizations/es-ES/Sophia.psd1 @@ -24,6 +24,7 @@ WindowsFeaturesTitle = Características de Windows OptionalFeaturesTitle = Características opcionales EnableHardwareVT = Habilitar la virtualización en UEFI. UserShellFolderNotEmpty = Algunos archivos quedan en la carpeta "{0}". Moverlos manualmente a una nueva ubicación. +UserFolderLocationMove = No deberías cambiar la ubicación de la carpeta de usuario a la raíz de la unidad C. RetrievingDrivesList = Recuperando lista de unidades... DriveSelect = Seleccione la unidad dentro de la raíz de la cual se creó la carpeta "{0}". CurrentUserFolderLocation = La ubicación actual de la carpeta "{0}": "{1}". diff --git a/src/Sophia_Script_for_Windows_10_LTSC_2021/Localizations/fr-FR/Sophia.psd1 b/src/Sophia_Script_for_Windows_10_LTSC_2021/Localizations/fr-FR/Sophia.psd1 index 9598682a..1b583dbc 100644 --- a/src/Sophia_Script_for_Windows_10_LTSC_2021/Localizations/fr-FR/Sophia.psd1 +++ b/src/Sophia_Script_for_Windows_10_LTSC_2021/Localizations/fr-FR/Sophia.psd1 @@ -24,6 +24,7 @@ WindowsFeaturesTitle = Fonctionnalités OptionalFeaturesTitle = Fonctionnalités optionnelles EnableHardwareVT = Activer la virtualisation dans UEFI. UserShellFolderNotEmpty = Certains fichiers laissés dans le dossier "{0}". Déplacer les manuellement vers un nouvel emplacement. +UserFolderLocationMove = Vous ne devez pas changer l'emplacement du dossier de l'utilisateur pour la racine du lecteur C. RetrievingDrivesList = Récupération de la liste des lecteurs... DriveSelect = Sélectionnez le disque à la racine dans lequel le dossier "{0}" sera créé. CurrentUserFolderLocation = L'emplacement actuel du dossier "{0}": "{1}". diff --git a/src/Sophia_Script_for_Windows_10_LTSC_2021/Localizations/hu-HU/Sophia.psd1 b/src/Sophia_Script_for_Windows_10_LTSC_2021/Localizations/hu-HU/Sophia.psd1 index b68264f1..8f8dd58d 100644 --- a/src/Sophia_Script_for_Windows_10_LTSC_2021/Localizations/hu-HU/Sophia.psd1 +++ b/src/Sophia_Script_for_Windows_10_LTSC_2021/Localizations/hu-HU/Sophia.psd1 @@ -24,6 +24,7 @@ WindowsFeaturesTitle = Windows szolgáltatások OptionalFeaturesTitle = Opcionális szolgáltatások EnableHardwareVT = Virtualizáció engedélyezése UEFI-ben. UserShellFolderNotEmpty = Néhány fájl maradt a "{0}" könyvtárban. Kérem helyezze át ezeket egy új helyre. +UserFolderLocationMove = Nem szabad megváltoztatni a felhasználói mappa helyét a C meghajtó gyökerére. RetrievingDrivesList = A meghajtók listájának lekérése... DriveSelect = Válassza ki a meghajtó jelét a gyökérkönyvtárban ahol a "{0}" könyvtár létre lesz hozva. CurrentUserFolderLocation = Az aktuális "{0}" mappa helye: "{1}". diff --git a/src/Sophia_Script_for_Windows_10_LTSC_2021/Localizations/it-IT/Sophia.psd1 b/src/Sophia_Script_for_Windows_10_LTSC_2021/Localizations/it-IT/Sophia.psd1 index 8e9e9e03..5cb96833 100644 --- a/src/Sophia_Script_for_Windows_10_LTSC_2021/Localizations/it-IT/Sophia.psd1 +++ b/src/Sophia_Script_for_Windows_10_LTSC_2021/Localizations/it-IT/Sophia.psd1 @@ -24,6 +24,7 @@ WindowsFeaturesTitle = Funzionalità di Windows OptionalFeaturesTitle = Caratteristiche opzionali EnableHardwareVT = Abilita virtualizzazione in UEFI. UserShellFolderNotEmpty = Alcuni file rimasti nella cartella "{0}". Spostali manualmente in una nuova posizione. +UserFolderLocationMove = Non si dovrebbe modificare la posizione della cartella utente nella radice dell'unità C. RetrievingDrivesList = Recupero lista unità... DriveSelect = Selezionare l'unità all'interno della radice del quale verrà creato la cartella "{0}" . CurrentUserFolderLocation = La posizione attuale della cartella "{0}": "{1}". diff --git a/src/Sophia_Script_for_Windows_10_LTSC_2021/Localizations/pl-PL/Sophia.psd1 b/src/Sophia_Script_for_Windows_10_LTSC_2021/Localizations/pl-PL/Sophia.psd1 index 828fb448..1bbfdb20 100644 --- a/src/Sophia_Script_for_Windows_10_LTSC_2021/Localizations/pl-PL/Sophia.psd1 +++ b/src/Sophia_Script_for_Windows_10_LTSC_2021/Localizations/pl-PL/Sophia.psd1 @@ -24,6 +24,7 @@ WindowsFeaturesTitle = Funkcje Windows OptionalFeaturesTitle = Funkcje opcjonalne EnableHardwareVT = Włącz wirtualizację w UEFI. UserShellFolderNotEmpty = Niektóre pliki pozostały w folderze "{0}". Przenieś je ręcznie w nowe miejsce. +UserFolderLocationMove = Nie należy zmieniać lokalizacji folderu użytkownika na katalog główny dysku C. RetrievingDrivesList = Pobieranie listy dysków... DriveSelect = Wybierz dysk w katalogu głównym, w którym zostanie utworzony folder "{0}". CurrentUserFolderLocation = Lokalizacja folderu "{0}": "{1}". diff --git a/src/Sophia_Script_for_Windows_10_LTSC_2021/Localizations/pt-BR/Sophia.psd1 b/src/Sophia_Script_for_Windows_10_LTSC_2021/Localizations/pt-BR/Sophia.psd1 index 22ef28d7..4e9c0400 100644 --- a/src/Sophia_Script_for_Windows_10_LTSC_2021/Localizations/pt-BR/Sophia.psd1 +++ b/src/Sophia_Script_for_Windows_10_LTSC_2021/Localizations/pt-BR/Sophia.psd1 @@ -24,6 +24,7 @@ WindowsFeaturesTitle = Recursos do Windows OptionalFeaturesTitle = Recursos opcionais EnableHardwareVT = Habilitar virtualização em UEFI. UserShellFolderNotEmpty = Alguns arquivos deixados na pasta "{0}". Movê-los manualmente para um novo local. +UserFolderLocationMove = Você não deve alterar o local da pasta do usuário para a raiz da unidade C. RetrievingDrivesList = Recuperando lista de unidades... DriveSelect = Selecione a unidade dentro da raiz da qual a pasta "{0}" será criada. CurrentUserFolderLocation = A localização actual da pasta "{0}": "{1}". diff --git a/src/Sophia_Script_for_Windows_10_LTSC_2021/Localizations/ru-RU/Sophia.psd1 b/src/Sophia_Script_for_Windows_10_LTSC_2021/Localizations/ru-RU/Sophia.psd1 index a73af540..081d6549 100644 --- a/src/Sophia_Script_for_Windows_10_LTSC_2021/Localizations/ru-RU/Sophia.psd1 +++ b/src/Sophia_Script_for_Windows_10_LTSC_2021/Localizations/ru-RU/Sophia.psd1 @@ -24,6 +24,7 @@ WindowsFeaturesTitle = Компоненты Windows OptionalFeaturesTitle = Дополнительные компоненты EnableHardwareVT = Включите виртуализацию в UEFI. UserShellFolderNotEmpty = В папке "{0}" остались файлы. Переместите их вручную в новое расположение. +UserFolderLocationMove = Не следует перемещать пользовательские папки в корень диска C. RetrievingDrivesList = Получение списка дисков... DriveSelect = Выберите диск, в корне которого будет создана папка "{0}". CurrentUserFolderLocation = Текущее расположение папки "{0}": "{1}". diff --git a/src/Sophia_Script_for_Windows_10_LTSC_2021/Localizations/tr-TR/Sophia.psd1 b/src/Sophia_Script_for_Windows_10_LTSC_2021/Localizations/tr-TR/Sophia.psd1 index 54f3da65..f11f1deb 100644 --- a/src/Sophia_Script_for_Windows_10_LTSC_2021/Localizations/tr-TR/Sophia.psd1 +++ b/src/Sophia_Script_for_Windows_10_LTSC_2021/Localizations/tr-TR/Sophia.psd1 @@ -24,6 +24,7 @@ WindowsFeaturesTitle = Características do Windows OptionalFeaturesTitle = Opsiyonel özellikler EnableHardwareVT = UEFI'dan sanallaştırmayı aktifleştirin. UserShellFolderNotEmpty = "{0}" klasöründe bazı dosyalar kaldı. \nKendiniz yeni konuma taşıyın. +UserFolderLocationMove = Kullanıcı klasörü konumunu C sürücüsü kökü olarak değiştirmemelisiniz. RetrievingDrivesList = Sürücü listesi alınıyor... DriveSelect = "{0}" klasörünün oluşturulacağı kök içindeki sürücüyü seçin. CurrentUserFolderLocation = Geçerli "{0}" klasör konumu: "{1}". diff --git a/src/Sophia_Script_for_Windows_10_LTSC_2021/Localizations/uk-UA/Sophia.psd1 b/src/Sophia_Script_for_Windows_10_LTSC_2021/Localizations/uk-UA/Sophia.psd1 index 5a34eba5..0d22d7c0 100644 --- a/src/Sophia_Script_for_Windows_10_LTSC_2021/Localizations/uk-UA/Sophia.psd1 +++ b/src/Sophia_Script_for_Windows_10_LTSC_2021/Localizations/uk-UA/Sophia.psd1 @@ -24,6 +24,7 @@ WindowsFeaturesTitle = Компоненти Windows OptionalFeaturesTitle = Додаткові компоненти EnableHardwareVT = Увімкніть віртуалізацію в UEFI. UserShellFolderNotEmpty = У папці "{0}" залишилися файли. Перемістіть їх вручну в нове розташування. +UserFolderLocationMove = Не слід переміщати користувацькі папки в корінь диска C. RetrievingDrivesList = Отримання списку дисків... DriveSelect = Виберіть диск, в корні якого буде створена папка для "{0}". CurrentUserFolderLocation = Поточне розташування папки "{0}": "{1}". diff --git a/src/Sophia_Script_for_Windows_10_LTSC_2021/Localizations/zh-CN/Sophia.psd1 b/src/Sophia_Script_for_Windows_10_LTSC_2021/Localizations/zh-CN/Sophia.psd1 index c9df98b6..6616ccdc 100644 --- a/src/Sophia_Script_for_Windows_10_LTSC_2021/Localizations/zh-CN/Sophia.psd1 +++ b/src/Sophia_Script_for_Windows_10_LTSC_2021/Localizations/zh-CN/Sophia.psd1 @@ -24,6 +24,7 @@ WindowsFeaturesTitle = Windows功能 OptionalFeaturesTitle = 可选功能 EnableHardwareVT = UEFI中开启虚拟化。 UserShellFolderNotEmpty = 一些文件留在了"{0}"文件夹。请手动将它们移到一个新位置。 +UserFolderLocationMove = 不应将用户文件夹位置更改为 C 盘根目录。 RetrievingDrivesList = 取得驱动器列表..... DriveSelect = 选择将在其根目录中创建"{0}"文件夹的驱动器。 CurrentUserFolderLocation = 当前"{0}"文件夹的位置:"{1}"。 diff --git a/src/Sophia_Script_for_Windows_10_LTSC_2021/Manifest/Sophia.psd1 b/src/Sophia_Script_for_Windows_10_LTSC_2021/Manifest/Sophia.psd1 index a8a2d14e..19505643 100644 --- a/src/Sophia_Script_for_Windows_10_LTSC_2021/Manifest/Sophia.psd1 +++ b/src/Sophia_Script_for_Windows_10_LTSC_2021/Manifest/Sophia.psd1 @@ -1,6 +1,6 @@ @{ RootModule = '..\Module\Sophia.psm1' - ModuleVersion = '5.18.0' + ModuleVersion = '5.18.1' GUID = '109cc881-c42b-45af-a74a-550781989d6a' Author = 'Dmitry "farag" Nefedov' Copyright = '(c) 2014—2024 farag & Inestic. All rights reserved' diff --git a/src/Sophia_Script_for_Windows_10_LTSC_2021/Module/Sophia.psm1 b/src/Sophia_Script_for_Windows_10_LTSC_2021/Module/Sophia.psm1 index 52f2c451..1c80677c 100644 --- a/src/Sophia_Script_for_Windows_10_LTSC_2021/Module/Sophia.psm1 +++ b/src/Sophia_Script_for_Windows_10_LTSC_2021/Module/Sophia.psm1 @@ -2,8 +2,8 @@ .SYNOPSIS Sophia Script is a PowerShell module for Windows 10 & Windows 11 fine-tuning and automating the routine tasks - Version: v5.18.0 - Date: 02.02.2024 + Version: v5.18.1 + Date: 03.03.2024 Copyright (c) 2014—2024 farag Copyright (c) 2019—2024 farag & Inestic @@ -130,6 +130,44 @@ public static string GetIndirectString(string indirectString) Start-Process -FilePath "https://github.com/PowerShell/PowerShell/releases/latest" Start-Process -FilePath "https://github.com/farag2/Sophia-Script-for-Windows/releases/latest" + Start-Process -FilePath "https://github.com/PowerShell/PowerShell/issues/21070" + + exit + } + } + + $Signature = @{ + Namespace = "WinAPI" + Name = "ForegroundWindow" + Language = "CSharp" + MemberDefinition = @" +[DllImport("user32.dll")] +public static extern bool ShowWindowAsync(IntPtr hWnd, int nCmdShow); + +[DllImport("user32.dll")] +[return: MarshalAs(UnmanagedType.Bool)] +public static extern bool SetForegroundWindow(IntPtr hWnd); +"@ + } + + if (-not ("WinAPI.ForegroundWindow" -as [type])) + { + try + { + Add-Type @Signature + } + catch [System.ComponentModel.Win32Exception] + { + Write-Warning -Message $Localization.NonLatinUsernameWarning + + Start-Process -FilePath "https://t.me/sophia_chat" + Start-Process -FilePath "https://discord.gg/sSryhaEv79" + + Start-Process -FilePath "https://github.com/PowerShell/PowerShell/releases/latest" + Start-Process -FilePath "https://github.com/farag2/Sophia-Script-for-Windows/releases/latest" + + Start-Process -FilePath "https://github.com/PowerShell/PowerShell/issues/21070" + exit } } @@ -1608,25 +1646,6 @@ function ScheduledTasks Add-Type -AssemblyName System.Windows.Forms - $Signature = @{ - Namespace = "WinAPI" - Name = "ForegroundWindow" - Language = "CSharp" - MemberDefinition = @" -[DllImport("user32.dll")] -public static extern bool ShowWindowAsync(IntPtr hWnd, int nCmdShow); - -[DllImport("user32.dll")] -[return: MarshalAs(UnmanagedType.Bool)] -public static extern bool SetForegroundWindow(IntPtr hWnd); -"@ - } - - if (-not ("WinAPI.ForegroundWindow" -as [type])) - { - Add-Type @Signature - } - Get-Process | Where-Object -FilterScript {($_.ProcessName -eq "powershell") -and ($_.MainWindowTitle -match "Sophia Script for Windows 10 LTSC")} | ForEach-Object -Process { # Show window, if minimized [WinAPI.ForegroundWindow]::ShowWindowAsync($_.MainWindowHandle, 10) @@ -5645,26 +5664,7 @@ function WindowsFeatures Add-Type -AssemblyName System.Windows.Forms - $Signature = @{ - Namespace = "WinAPI" - Name = "ForegroundWindow" - Language = "CSharp" - MemberDefinition = @" -[DllImport("user32.dll")] -public static extern bool ShowWindowAsync(IntPtr hWnd, int nCmdShow); - -[DllImport("user32.dll")] -[return: MarshalAs(UnmanagedType.Bool)] -public static extern bool SetForegroundWindow(IntPtr hWnd); -"@ - } - - if (-not ("WinAPI.ForegroundWindow" -as [type])) - { - Add-Type @Signature - } - - Get-Process | Where-Object -FilterScript {($_.ProcessName -eq "powershell") -and ($_.MainWindowTitle -match "Sophia Script for Windows 10 LTSC")} | ForEach-Object -Process { + Get-Process | Where-Object -FilterScript {($_.ProcessName -eq "powershell") -and ($_.MainWindowTitle -match "Sophia Script for Windows 10 LTSC 2021")} | ForEach-Object -Process { # Show window, if minimized [WinAPI.ForegroundWindow]::ShowWindowAsync($_.MainWindowHandle, 10) @@ -6038,26 +6038,7 @@ function WindowsCapabilities Add-Type -AssemblyName System.Windows.Forms - $Signature = @{ - Namespace = "WinAPI" - Name = "ForegroundWindow" - Language = "CSharp" - MemberDefinition = @" -[DllImport("user32.dll")] -public static extern bool ShowWindowAsync(IntPtr hWnd, int nCmdShow); - -[DllImport("user32.dll")] -[return: MarshalAs(UnmanagedType.Bool)] -public static extern bool SetForegroundWindow(IntPtr hWnd); -"@ - } - - if (-not ("WinAPI.ForegroundWindow" -as [type])) - { - Add-Type @Signature - } - - Get-Process | Where-Object -FilterScript {(($_.ProcessName -eq "powershell") -or ($_.ProcessName -eq "WindowsTerminal")) -and ($_.MainWindowTitle -match "Sophia Script for Windows 10")} | ForEach-Object -Process { + Get-Process | Where-Object -FilterScript {(($_.ProcessName -eq "powershell") -or ($_.ProcessName -eq "WindowsTerminal")) -and ($_.MainWindowTitle -match "Sophia Script for Windows 10 LTSC 2021")} | ForEach-Object -Process { # Show window, if minimized [WinAPI.ForegroundWindow]::ShowWindowAsync($_.MainWindowHandle, 10) @@ -6696,13 +6677,21 @@ public extern static int SHSetKnownFolderPath(ref Guid folderId, uint flags, Int { "Root" { - Write-Information -MessageData "" -InformationAction Continue - Write-Verbose -Message $Localization.RetrievingDrivesList -Verbose - # Store all fixed disks' letters to use them within Show-Menu function # https://learn.microsoft.com/en-us/dotnet/api/system.io.drivetype?view=net-7.0#fields $DriveLetters = @((Get-CimInstance -ClassName CIM_LogicalDisk | Where-Object -FilterScript {$_.DriveType -eq 3}).DeviceID | Sort-Object) + if ($DriveLetters.Count -eq 1) + { + Write-Information -MessageData "" -InformationAction Continue + Write-Verbose -Message $Localization.UserFolderLocationMove -Verbose + + return + } + + Write-Information -MessageData "" -InformationAction Continue + Write-Verbose -Message $Localization.RetrievingDrivesList -Verbose + # Desktop Write-Information -MessageData "" -InformationAction Continue Write-Verbose -Message ($Localization.DriveSelect -f [WinAPI.GetStrings]::GetString(21769)) -Verbose @@ -6900,7 +6889,17 @@ public extern static int SHSetKnownFolderPath(ref Guid folderId, uint flags, Int if ($FolderBrowserDialog.SelectedPath) { - Set-UserShellFolder -UserFolder Desktop -FolderPath $FolderBrowserDialog.SelectedPath + if ($FolderBrowserDialog.SelectedPath -eq "C:\") + { + Write-Information -MessageData "" -InformationAction Continue + Write-Verbose -Message $Localization.UserFolderLocationMove -Verbose + + continue + } + else + { + Set-UserShellFolder -UserFolder Desktop -FolderPath $FolderBrowserDialog.SelectedPath + } } } $Skip @@ -6940,7 +6939,17 @@ public extern static int SHSetKnownFolderPath(ref Guid folderId, uint flags, Int if ($FolderBrowserDialog.SelectedPath) { - Set-UserShellFolder -UserFolder Documents -FolderPath $FolderBrowserDialog.SelectedPath + if ($FolderBrowserDialog.SelectedPath -eq "C:\") + { + Write-Information -MessageData "" -InformationAction Continue + Write-Verbose -Message $Localization.UserFolderLocationMove -Verbose + + continue + } + else + { + Set-UserShellFolder -UserFolder Documents -FolderPath $FolderBrowserDialog.SelectedPath + } } } $Skip @@ -6980,7 +6989,17 @@ public extern static int SHSetKnownFolderPath(ref Guid folderId, uint flags, Int if ($FolderBrowserDialog.SelectedPath) { - Set-UserShellFolder -UserFolder Downloads -FolderPath $FolderBrowserDialog.SelectedPath + if ($FolderBrowserDialog.SelectedPath -eq "C:\") + { + Write-Information -MessageData "" -InformationAction Continue + Write-Verbose -Message $Localization.UserFolderLocationMove -Verbose + + continue + } + else + { + Set-UserShellFolder -UserFolder Downloads -FolderPath $FolderBrowserDialog.SelectedPath + } } } $Skip @@ -7020,7 +7039,17 @@ public extern static int SHSetKnownFolderPath(ref Guid folderId, uint flags, Int if ($FolderBrowserDialog.SelectedPath) { - Set-UserShellFolder -UserFolder Music -FolderPath $FolderBrowserDialog.SelectedPath + if ($FolderBrowserDialog.SelectedPath -eq "C:\") + { + Write-Information -MessageData "" -InformationAction Continue + Write-Verbose -Message $Localization.UserFolderLocationMove -Verbose + + continue + } + else + { + Set-UserShellFolder -UserFolder Music -FolderPath $FolderBrowserDialog.SelectedPath + } } } $Skip @@ -7060,7 +7089,17 @@ public extern static int SHSetKnownFolderPath(ref Guid folderId, uint flags, Int if ($FolderBrowserDialog.SelectedPath) { - Set-UserShellFolder -UserFolder Pictures -FolderPath $FolderBrowserDialog.SelectedPath + if ($FolderBrowserDialog.SelectedPath -eq "C:\") + { + Write-Information -MessageData "" -InformationAction Continue + Write-Verbose -Message $Localization.UserFolderLocationMove -Verbose + + continue + } + else + { + Set-UserShellFolder -UserFolder Pictures -FolderPath $FolderBrowserDialog.SelectedPath + } } } $Skip @@ -7100,7 +7139,17 @@ public extern static int SHSetKnownFolderPath(ref Guid folderId, uint flags, Int if ($FolderBrowserDialog.SelectedPath) { - Set-UserShellFolder -UserFolder Videos -FolderPath $FolderBrowserDialog.SelectedPath + if ($FolderBrowserDialog.SelectedPath -eq "C:\") + { + Write-Information -MessageData "" -InformationAction Continue + Write-Verbose -Message $Localization.UserFolderLocationMove -Verbose + + continue + } + else + { + Set-UserShellFolder -UserFolder Videos -FolderPath $FolderBrowserDialog.SelectedPath + } } } $Skip @@ -9371,7 +9420,7 @@ function InstallDotNetRuntimes param ( [Parameter( - Mandatory = $false, + Mandatory = $true, ParameterSetName = "Runtimes" )] [ValidateSet("NET6x86", "NET6x64", "NET7x86", "NET7x64", "NET8x86", "NET8x64")] @@ -10106,26 +10155,7 @@ function Install-WSL Add-Type -AssemblyName System.Windows.Forms - $Signature = @{ - Namespace = "WinAPI" - Name = "ForegroundWindow" - Language = "CSharp" - MemberDefinition = @" -[DllImport("user32.dll")] -public static extern bool ShowWindowAsync(IntPtr hWnd, int nCmdShow); - -[DllImport("user32.dll")] -[return: MarshalAs(UnmanagedType.Bool)] -public static extern bool SetForegroundWindow(IntPtr hWnd); -"@ - } - - if (-not ("WinAPI.ForegroundWindow" -as [type])) - { - Add-Type @Signature - } - - Get-Process | Where-Object -FilterScript {(($_.ProcessName -eq "powershell") -or ($_.ProcessName -eq "WindowsTerminal")) -and ($_.MainWindowTitle -match "Sophia Script for Windows 10")} | ForEach-Object -Process { + Get-Process | Where-Object -FilterScript {(($_.ProcessName -eq "powershell") -or ($_.ProcessName -eq "WindowsTerminal")) -and ($_.MainWindowTitle -match "Sophia Script for Windows 10 LTSC 2021")} | ForEach-Object -Process { # Show window, if minimized [WinAPI.ForegroundWindow]::ShowWindowAsync($_.MainWindowHandle, 10) @@ -10864,7 +10894,7 @@ public static extern bool ShowWindowAsync(IntPtr hWnd, int nCmdShow); } `$ProcessInfo = New-Object -TypeName System.Diagnostics.ProcessStartInfo -`$ProcessInfo.FileName = """`$env:SystemRoot\System32\dism.exe""" +`$ProcessInfo.FileName = """`$env:SystemRoot\System32\Dism.exe""" `$ProcessInfo.Arguments = """/Online /English /Cleanup-Image /StartComponentCleanup /NoRestart""" `$ProcessInfo.UseShellExecute = `$true `$ProcessInfo.WindowStyle = [System.Diagnostics.ProcessWindowStyle]::Minimized @@ -12415,58 +12445,57 @@ function WindowsSandbox $Enable ) + if (-not (Get-WindowsEdition -Online | Where-Object -FilterScript {($_.Edition -eq "Professional") -or ($_.Edition -like "Enterprise*")})) + { + return + } + switch ($PSCmdlet.ParameterSetName) { "Disable" { - if (Get-WindowsEdition -Online | Where-Object -FilterScript {($_.Edition -eq "Professional") -or ($_.Edition -like "Enterprise*")}) + # Checking whether x86 virtualization is enabled in the firmware + if ((Get-CimInstance -ClassName CIM_Processor).VirtualizationFirmwareEnabled) { - # Checking whether x86 virtualization is enabled in the firmware - if ((Get-CimInstance -ClassName CIM_Processor).VirtualizationFirmwareEnabled) - { - Disable-WindowsOptionalFeature -FeatureName Containers-DisposableClientVM -Online -NoRestart - } - else + Disable-WindowsOptionalFeature -FeatureName Containers-DisposableClientVM -Online -NoRestart + } + else + { + try { - try + # Determining whether Hyper-V is enabled + if ((Get-CimInstance -ClassName CIM_ComputerSystem).HypervisorPresent) { - # Determining whether Hyper-V is enabled - if ((Get-CimInstance -ClassName CIM_ComputerSystem).HypervisorPresent) - { - Disable-WindowsOptionalFeature -FeatureName Containers-DisposableClientVM -Online -NoRestart - } - } - catch [System.Exception] - { - Write-Error -Message $Localization.EnableHardwareVT -ErrorAction SilentlyContinue + Disable-WindowsOptionalFeature -FeatureName Containers-DisposableClientVM -Online -NoRestart } } + catch [System.Exception] + { + Write-Error -Message $Localization.EnableHardwareVT -ErrorAction SilentlyContinue + } } } "Enable" { - if (Get-WindowsEdition -Online | Where-Object -FilterScript {($_.Edition -eq "Professional") -or ($_.Edition -like "Enterprise*")}) + # Checking whether x86 virtualization is enabled in the firmware + if ((Get-CimInstance -ClassName CIM_Processor).VirtualizationFirmwareEnabled) { - # Checking whether x86 virtualization is enabled in the firmware - if ((Get-CimInstance -ClassName CIM_Processor).VirtualizationFirmwareEnabled) - { - Enable-WindowsOptionalFeature -FeatureName Containers-DisposableClientVM -All -Online -NoRestart - } - else + Enable-WindowsOptionalFeature -FeatureName Containers-DisposableClientVM -All -Online -NoRestart + } + else + { + try { - try + # Determining whether Hyper-V is enabled + if ((Get-CimInstance -ClassName CIM_ComputerSystem).HypervisorPresent) { - # Determining whether Hyper-V is enabled - if ((Get-CimInstance -ClassName CIM_ComputerSystem).HypervisorPresent) - { - Enable-WindowsOptionalFeature -FeatureName Containers-DisposableClientVM -All -Online -NoRestart - } - } - catch [System.Exception] - { - Write-Error -Message $Localization.EnableHardwareVT -ErrorAction SilentlyContinue + Enable-WindowsOptionalFeature -FeatureName Containers-DisposableClientVM -All -Online -NoRestart } } + catch [System.Exception] + { + Write-Error -Message $Localization.EnableHardwareVT -ErrorAction SilentlyContinue + } } } } @@ -12679,19 +12708,21 @@ function CastToDeviceContext $Show ) + Remove-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked" -Name "{7AD84985-87B4-4a16-BE58-8B72A5B390F7}" -Force -ErrorAction Ignore + switch ($PSCmdlet.ParameterSetName) { "Hide" { - if (-not (Test-Path -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked")) + if (-not (Test-Path -Path "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked")) { - New-Item -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked" -Force + New-Item -Path "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked" -Force } - New-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked" -Name "{7AD84985-87B4-4a16-BE58-8B72A5B390F7}" -PropertyType String -Value "Play to menu" -Force + New-ItemProperty -Path "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked" -Name "{7AD84985-87B4-4a16-BE58-8B72A5B390F7}" -PropertyType String -Value "" -Force } "Show" { - Remove-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked" -Name "{7AD84985-87B4-4a16-BE58-8B72A5B390F7}" -Force -ErrorAction Ignore + Remove-ItemProperty -Path "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked" -Name "{7AD84985-87B4-4a16-BE58-8B72A5B390F7}" -Force -ErrorAction Ignore } } } @@ -12734,19 +12765,21 @@ function ShareContext $Show ) + Remove-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked" -Name "{E2BF9676-5F8F-435C-97EB-11607A5BEDF7}" -Force -ErrorAction Ignore + switch ($PSCmdlet.ParameterSetName) { "Hide" { - if (-not (Test-Path -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked")) + if (-not (Test-Path -Path "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked")) { - New-Item -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked" -Force + New-Item -Path "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked" -Force } - New-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked" -Name "{E2BF9676-5F8F-435C-97EB-11607A5BEDF7}" -PropertyType String -Value "" -Force + New-ItemProperty -Path "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked" -Name "{E2BF9676-5F8F-435C-97EB-11607A5BEDF7}" -PropertyType String -Value "" -Force } "Show" { - Remove-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked" -Name "{E2BF9676-5F8F-435C-97EB-11607A5BEDF7}" -Force -ErrorAction Ignore + Remove-ItemProperty -Path "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked" -Name "{E2BF9676-5F8F-435C-97EB-11607A5BEDF7}" -Force -ErrorAction Ignore } } } @@ -12789,6 +12822,13 @@ function EditWithPaint3DContext $Show ) + if (-not (Get-AppxPackage -Name Microsoft.MSPaint)) + { + return + } + + $Extensions = @(".bmp", ".gif", ".jpe", ".jpeg", ".jpg", ".png", ".tif", ".tiff") + switch ($PSCmdlet.ParameterSetName) { "Hide" @@ -12848,18 +12888,24 @@ function ImagesEditContext $Show ) - if ((Get-WindowsCapability -Online -Name "Microsoft.Windows.MSPaint*").State -eq "Installed") + if (-not ((Get-WindowsCapability -Online -Name "Microsoft.Windows.MSPaint*").State -eq "Installed")) { - switch ($PSCmdlet.ParameterSetName) + return + } + + switch ($PSCmdlet.ParameterSetName) + { + "Hide" { - "Hide" - { - New-ItemProperty -Path Registry::HKEY_CLASSES_ROOT\SystemFileAssociations\image\shell\edit -Name ProgrammaticAccessOnly -PropertyType String -Value "" -Force - } - "Show" + if (-not (Test-Path -Path Registry::HKEY_CLASSES_ROOT\SystemFileAssociations\image\shell\edit)) { - Remove-ItemProperty -Path Registry::HKEY_CLASSES_ROOT\SystemFileAssociations\image\shell\edit -Name ProgrammaticAccessOnly -Force -ErrorAction Ignore + New-Item -Path Registry::HKEY_CLASSES_ROOT\SystemFileAssociations\image\shell\edit -Force } + New-ItemProperty -Path Registry::HKEY_CLASSES_ROOT\SystemFileAssociations\image\shell\edit -Name ProgrammaticAccessOnly -PropertyType String -Value "" -Force + } + "Show" + { + Remove-ItemProperty -Path Registry::HKEY_CLASSES_ROOT\SystemFileAssociations\image\shell\edit -Name ProgrammaticAccessOnly -Force -ErrorAction Ignore } } } diff --git a/src/Sophia_Script_for_Windows_10_LTSC_2021/Sophia.ps1 b/src/Sophia_Script_for_Windows_10_LTSC_2021/Sophia.ps1 index 06d40bfd..9b833caf 100644 --- a/src/Sophia_Script_for_Windows_10_LTSC_2021/Sophia.ps1 +++ b/src/Sophia_Script_for_Windows_10_LTSC_2021/Sophia.ps1 @@ -2,8 +2,8 @@ .SYNOPSIS Default preset file for "Sophia Script for Windows 10 LTSC 2021" - Version: v5.18.0 - Date: 02.02.2024 + Version: v5.18.1 + Date: 03.03.2024 Copyright (c) 2014—2024 farag Copyright (c) 2019—2024 farag & Inestic @@ -70,7 +70,7 @@ param Clear-Host -$Host.UI.RawUI.WindowTitle = "Sophia Script for Windows 10 LTSC 2021 v5.18.0 | Made with $([System.Char]::ConvertFromUtf32(0x1F497)) of Windows | $([System.Char]0x00A9) farag & Inestic, 2014$([System.Char]0x2013)2024" +$Host.UI.RawUI.WindowTitle = "Sophia Script for Windows 10 LTSC 2021 v5.18.1 | Made with $([System.Char]::ConvertFromUtf32(0x1F497)) of Windows | $([System.Char]0x00A9) farag & Inestic, 2014$([System.Char]0x2013)2024" Remove-Module -Name Sophia -Force -ErrorAction Ignore Import-LocalizedData -BindingVariable Global:Localization -BaseDirectory $PSScriptRoot\Localizations -FileName Sophia @@ -886,8 +886,8 @@ ActiveHours -Automatically InstallVCRedist <# - Install the latest .NET Desktop Runtime 6, 7 (x86/x64) - Установить последнюю версию .NET Desktop Runtime 6, 7 (x86/x64) + Install the latest .NET Desktop Runtime 6, 7, 8 (x86/x64) + Установить последнюю версию .NET Desktop Runtime 6, 7, 8 (x86/x64) https://dotnet.microsoft.com/en-us/download/dotnet #> diff --git a/src/Sophia_Script_for_Windows_10_PowerShell_7/Functions.ps1 b/src/Sophia_Script_for_Windows_10_PowerShell_7/Functions.ps1 index 1871dea5..36d6d8f5 100644 --- a/src/Sophia_Script_for_Windows_10_PowerShell_7/Functions.ps1 +++ b/src/Sophia_Script_for_Windows_10_PowerShell_7/Functions.ps1 @@ -2,8 +2,8 @@ .SYNOPSIS The TAB completion for functions and their arguments - Version: v5.18.0 - Date: 02.02.2024 + Version: v5.18.1 + Date: 03.03.2024 Copyright (c) 2014—2024 farag Copyright (c) 2019—2024 farag & Inestic @@ -50,7 +50,7 @@ function Sophia Clear-Host -$Host.UI.RawUI.WindowTitle = "Sophia Script for Windows 10 v5.18.0 (PowerShell 7) | Made with $([System.Char]::ConvertFromUtf32(0x1F497)) of Windows | $([System.Char]0x00A9) farag & Inestic, 2014$([System.Char]0x2013)2024" +$Host.UI.RawUI.WindowTitle = "Sophia Script for Windows 10 v5.18.1 (PowerShell 7) | Made with $([System.Char]::ConvertFromUtf32(0x1F497)) of Windows | $([System.Char]0x00A9) farag & Inestic, 2014$([System.Char]0x2013)2024" Remove-Module -Name Sophia -Force -ErrorAction Ignore Import-Module -Name $PSScriptRoot\Manifest\Sophia.psd1 -PassThru -Force diff --git a/src/Sophia_Script_for_Windows_10_PowerShell_7/Localizations/de-DE/Sophia.psd1 b/src/Sophia_Script_for_Windows_10_PowerShell_7/Localizations/de-DE/Sophia.psd1 index a1d4045e..c0a32a42 100644 --- a/src/Sophia_Script_for_Windows_10_PowerShell_7/Localizations/de-DE/Sophia.psd1 +++ b/src/Sophia_Script_for_Windows_10_PowerShell_7/Localizations/de-DE/Sophia.psd1 @@ -27,6 +27,7 @@ WindowsFeaturesTitle = Windows-Features OptionalFeaturesTitle = Optionale Features EnableHardwareVT = Virtualisierung in UEFI aktivieren. UserShellFolderNotEmpty = Im Ordner "{0}" befinden sich noch Dateien \nVerschieben Sie sie manuell an einen neuen Ort. +UserFolderLocationMove = Sie sollten den Speicherort des Benutzerordners nicht in das Stammverzeichnis des Laufwerks C ändern. RetrievingDrivesList = Laufwerksliste abrufen... DriveSelect = Wählen Sie das Laufwerk aus, in dessen Stammverzeichnis der Ordner "{0}" erstellt werden soll. CurrentUserFolderLocation = Der aktuelle Speicherort des Ordners "{0}" lautet: "{1}". diff --git a/src/Sophia_Script_for_Windows_10_PowerShell_7/Localizations/en-US/Sophia.psd1 b/src/Sophia_Script_for_Windows_10_PowerShell_7/Localizations/en-US/Sophia.psd1 index 74c9eedb..96301ecc 100644 --- a/src/Sophia_Script_for_Windows_10_PowerShell_7/Localizations/en-US/Sophia.psd1 +++ b/src/Sophia_Script_for_Windows_10_PowerShell_7/Localizations/en-US/Sophia.psd1 @@ -27,6 +27,7 @@ WindowsFeaturesTitle = Windows features OptionalFeaturesTitle = Optional features EnableHardwareVT = Enable Virtualization in UEFI. UserShellFolderNotEmpty = Some files left in the "{0}" folder. Move them manually to a new location. +UserFolderLocationMove = You shouldn't change user folder location to C drive root. RetrievingDrivesList = Retrieving drives list... DriveSelect = Select the drive within the root of which the "{0}" folder will be created. CurrentUserFolderLocation = The current "{0}" folder location: "{1}". diff --git a/src/Sophia_Script_for_Windows_10_PowerShell_7/Localizations/es-ES/Sophia.psd1 b/src/Sophia_Script_for_Windows_10_PowerShell_7/Localizations/es-ES/Sophia.psd1 index ad579ef1..673578e3 100644 --- a/src/Sophia_Script_for_Windows_10_PowerShell_7/Localizations/es-ES/Sophia.psd1 +++ b/src/Sophia_Script_for_Windows_10_PowerShell_7/Localizations/es-ES/Sophia.psd1 @@ -27,6 +27,7 @@ WindowsFeaturesTitle = Características de Windows OptionalFeaturesTitle = Características opcionales EnableHardwareVT = Habilitar la virtualización en UEFI. UserShellFolderNotEmpty = Algunos archivos quedan en la carpeta "{0}". Moverlos manualmente a una nueva ubicación. +UserFolderLocationMove = No deberías cambiar la ubicación de la carpeta de usuario a la raíz de la unidad C. RetrievingDrivesList = Recuperando lista de unidades... DriveSelect = Seleccione la unidad dentro de la raíz de la cual se creó la carpeta "{0}". CurrentUserFolderLocation = La ubicación actual de la carpeta "{0}": "{1}". diff --git a/src/Sophia_Script_for_Windows_10_PowerShell_7/Localizations/fr-FR/Sophia.psd1 b/src/Sophia_Script_for_Windows_10_PowerShell_7/Localizations/fr-FR/Sophia.psd1 index 636ecbdf..3e52ac62 100644 --- a/src/Sophia_Script_for_Windows_10_PowerShell_7/Localizations/fr-FR/Sophia.psd1 +++ b/src/Sophia_Script_for_Windows_10_PowerShell_7/Localizations/fr-FR/Sophia.psd1 @@ -27,6 +27,7 @@ WindowsFeaturesTitle = Fonctionnalités OptionalFeaturesTitle = Fonctionnalités optionnelles EnableHardwareVT = Activer la virtualisation dans UEFI. UserShellFolderNotEmpty = Certains fichiers laissés dans le dossier "{0}". Déplacer les manuellement vers un nouvel emplacement. +UserFolderLocationMove = Vous ne devez pas changer l'emplacement du dossier de l'utilisateur pour la racine du lecteur C. RetrievingDrivesList = Récupération de la liste des lecteurs... DriveSelect = Sélectionnez le disque à la racine dans lequel le dossier "{0}" sera créé. CurrentUserFolderLocation = L'emplacement actuel du dossier "{0}": "{1}". diff --git a/src/Sophia_Script_for_Windows_10_PowerShell_7/Localizations/hu-HU/Sophia.psd1 b/src/Sophia_Script_for_Windows_10_PowerShell_7/Localizations/hu-HU/Sophia.psd1 index d7584af6..105bff7c 100644 --- a/src/Sophia_Script_for_Windows_10_PowerShell_7/Localizations/hu-HU/Sophia.psd1 +++ b/src/Sophia_Script_for_Windows_10_PowerShell_7/Localizations/hu-HU/Sophia.psd1 @@ -27,6 +27,7 @@ WindowsFeaturesTitle = Windows szolgáltatások OptionalFeaturesTitle = Opcionális szolgáltatások EnableHardwareVT = Virtualizáció engedélyezése UEFI-ben. UserShellFolderNotEmpty = Néhány fájl maradt a "{0}" könyvtárban. Kérem helyezze át ezeket egy új helyre. +UserFolderLocationMove = Nem szabad megváltoztatni a felhasználói mappa helyét a C meghajtó gyökerére. RetrievingDrivesList = A meghajtók listájának lekérése... DriveSelect = Válassza ki a meghajtó jelét a gyökérkönyvtárban ahol a "{0}" könyvtár létre lesz hozva. CurrentUserFolderLocation = Az aktuális "{0}" mappa helye: "{1}". diff --git a/src/Sophia_Script_for_Windows_10_PowerShell_7/Localizations/it-IT/Sophia.psd1 b/src/Sophia_Script_for_Windows_10_PowerShell_7/Localizations/it-IT/Sophia.psd1 index c0bd516f..aa171387 100644 --- a/src/Sophia_Script_for_Windows_10_PowerShell_7/Localizations/it-IT/Sophia.psd1 +++ b/src/Sophia_Script_for_Windows_10_PowerShell_7/Localizations/it-IT/Sophia.psd1 @@ -27,6 +27,7 @@ WindowsFeaturesTitle = Funzionalità di Windows OptionalFeaturesTitle = Caratteristiche opzionali EnableHardwareVT = Abilita virtualizzazione in UEFI. UserShellFolderNotEmpty = Alcuni file rimasti nella cartella "{0}". Spostali manualmente in una nuova posizione. +UserFolderLocationMove = Non si dovrebbe modificare la posizione della cartella utente nella radice dell'unità C. RetrievingDrivesList = Recupero lista unità... DriveSelect = Selezionare l'unità all'interno della radice del quale verrà creato la cartella "{0}" . CurrentUserFolderLocation = La posizione attuale della cartella "{0}": "{1}". diff --git a/src/Sophia_Script_for_Windows_10_PowerShell_7/Localizations/pl-PL/Sophia.psd1 b/src/Sophia_Script_for_Windows_10_PowerShell_7/Localizations/pl-PL/Sophia.psd1 index de64781a..4414aff1 100644 --- a/src/Sophia_Script_for_Windows_10_PowerShell_7/Localizations/pl-PL/Sophia.psd1 +++ b/src/Sophia_Script_for_Windows_10_PowerShell_7/Localizations/pl-PL/Sophia.psd1 @@ -27,6 +27,7 @@ WindowsFeaturesTitle = Funkcje Windows OptionalFeaturesTitle = Funkcje opcjonalne EnableHardwareVT = Włącz wirtualizację w UEFI. UserShellFolderNotEmpty = Niektóre pliki pozostały w folderze "{0}". Przenieś je ręcznie w nowe miejsce. +UserFolderLocationMove = Nie należy zmieniać lokalizacji folderu użytkownika na katalog główny dysku C. RetrievingDrivesList = Pobieranie listy dysków... DriveSelect = Wybierz dysk w katalogu głównym, w którym zostanie utworzony folder "{0}". CurrentUserFolderLocation = Lokalizacja folderu "{0}": "{1}". diff --git a/src/Sophia_Script_for_Windows_10_PowerShell_7/Localizations/pt-BR/Sophia.psd1 b/src/Sophia_Script_for_Windows_10_PowerShell_7/Localizations/pt-BR/Sophia.psd1 index f1782692..af8908c7 100644 --- a/src/Sophia_Script_for_Windows_10_PowerShell_7/Localizations/pt-BR/Sophia.psd1 +++ b/src/Sophia_Script_for_Windows_10_PowerShell_7/Localizations/pt-BR/Sophia.psd1 @@ -27,6 +27,7 @@ WindowsFeaturesTitle = Recursos do Windows OptionalFeaturesTitle = Recursos opcionais EnableHardwareVT = Habilitar virtualização em UEFI. UserShellFolderNotEmpty = Alguns arquivos deixados na pasta "{0}". Movê-los manualmente para um novo local. +UserFolderLocationMove = Você não deve alterar o local da pasta do usuário para a raiz da unidade C. RetrievingDrivesList = Recuperando lista de unidades... DriveSelect = Selecione a unidade dentro da raiz da qual a pasta "{0}" será criada. CurrentUserFolderLocation = A localização actual da pasta "{0}": "{1}". diff --git a/src/Sophia_Script_for_Windows_10_PowerShell_7/Localizations/ru-RU/Sophia.psd1 b/src/Sophia_Script_for_Windows_10_PowerShell_7/Localizations/ru-RU/Sophia.psd1 index 695501b8..93ba0b11 100644 --- a/src/Sophia_Script_for_Windows_10_PowerShell_7/Localizations/ru-RU/Sophia.psd1 +++ b/src/Sophia_Script_for_Windows_10_PowerShell_7/Localizations/ru-RU/Sophia.psd1 @@ -27,6 +27,7 @@ WindowsFeaturesTitle = Компоненты Windows OptionalFeaturesTitle = Дополнительные компоненты EnableHardwareVT = Включите виртуализацию в UEFI. UserShellFolderNotEmpty = В папке "{0}" остались файлы. Переместите их вручную в новое расположение. +UserFolderLocationMove = Не следует перемещать пользовательские папки в корень диска C. RetrievingDrivesList = Получение списка дисков... DriveSelect = Выберите диск, в корне которого будет создана папка "{0}". CurrentUserFolderLocation = Текущее расположение папки "{0}": "{1}". diff --git a/src/Sophia_Script_for_Windows_10_PowerShell_7/Localizations/tr-TR/Sophia.psd1 b/src/Sophia_Script_for_Windows_10_PowerShell_7/Localizations/tr-TR/Sophia.psd1 index 5f1a32a7..6bf65af0 100644 --- a/src/Sophia_Script_for_Windows_10_PowerShell_7/Localizations/tr-TR/Sophia.psd1 +++ b/src/Sophia_Script_for_Windows_10_PowerShell_7/Localizations/tr-TR/Sophia.psd1 @@ -27,6 +27,7 @@ WindowsFeaturesTitle = Características do Windows OptionalFeaturesTitle = Opsiyonel özellikler EnableHardwareVT = UEFI'dan sanallaştırmayı aktifleştirin. UserShellFolderNotEmpty = "{0}" klasöründe bazı dosyalar kaldı. \nKendiniz yeni konuma taşıyın. +UserFolderLocationMove = Kullanıcı klasörü konumunu C sürücüsü kökü olarak değiştirmemelisiniz. RetrievingDrivesList = Sürücü listesi alınıyor... DriveSelect = "{0}" klasörünün oluşturulacağı kök içindeki sürücüyü seçin. CurrentUserFolderLocation = Geçerli "{0}" klasör konumu: "{1}". diff --git a/src/Sophia_Script_for_Windows_10_PowerShell_7/Localizations/uk-UA/Sophia.psd1 b/src/Sophia_Script_for_Windows_10_PowerShell_7/Localizations/uk-UA/Sophia.psd1 index c12c5ff0..2e69edba 100644 --- a/src/Sophia_Script_for_Windows_10_PowerShell_7/Localizations/uk-UA/Sophia.psd1 +++ b/src/Sophia_Script_for_Windows_10_PowerShell_7/Localizations/uk-UA/Sophia.psd1 @@ -27,6 +27,7 @@ WindowsFeaturesTitle = Компоненти Windows OptionalFeaturesTitle = Додаткові компоненти EnableHardwareVT = Увімкніть віртуалізацію в UEFI. UserShellFolderNotEmpty = У папці "{0}" залишилися файли. Перемістіть їх вручну в нове розташування. +UserFolderLocationMove = Не слід переміщати користувацькі папки в корінь диска C. RetrievingDrivesList = Отримання списку дисків... DriveSelect = Виберіть диск, в корні якого буде створена папка для "{0}". CurrentUserFolderLocation = Поточне розташування папки "{0}": "{1}". diff --git a/src/Sophia_Script_for_Windows_10_PowerShell_7/Localizations/zh-CN/Sophia.psd1 b/src/Sophia_Script_for_Windows_10_PowerShell_7/Localizations/zh-CN/Sophia.psd1 index 0f2dae48..385b2cb7 100644 --- a/src/Sophia_Script_for_Windows_10_PowerShell_7/Localizations/zh-CN/Sophia.psd1 +++ b/src/Sophia_Script_for_Windows_10_PowerShell_7/Localizations/zh-CN/Sophia.psd1 @@ -27,6 +27,7 @@ WindowsFeaturesTitle = Windows功能 OptionalFeaturesTitle = 可选功能 EnableHardwareVT = UEFI中开启虚拟化。 UserShellFolderNotEmpty = 一些文件留在了"{0}"文件夹。请手动将它们移到一个新位置。 +UserFolderLocationMove = 不应将用户文件夹位置更改为 C 盘根目录。 RetrievingDrivesList = 取得驱动器列表..... DriveSelect = 选择将在其根目录中创建"{0}"文件夹的驱动器。 CurrentUserFolderLocation = 当前"{0}"文件夹的位置:"{1}"。 diff --git a/src/Sophia_Script_for_Windows_10_PowerShell_7/Manifest/Sophia.psd1 b/src/Sophia_Script_for_Windows_10_PowerShell_7/Manifest/Sophia.psd1 index e519982a..11b35b65 100644 --- a/src/Sophia_Script_for_Windows_10_PowerShell_7/Manifest/Sophia.psd1 +++ b/src/Sophia_Script_for_Windows_10_PowerShell_7/Manifest/Sophia.psd1 @@ -1,6 +1,6 @@ @{ RootModule = '..\Module\Sophia.psm1' - ModuleVersion = '5.18.0' + ModuleVersion = '5.18.1' GUID = 'aa0b47a7-1770-4b5d-8c9f-cc6c505bcc7a' Author = 'Dmitry "farag" Nefedov' Copyright = '(c) 2014—2024 farag & Inestic. All rights reserved' diff --git a/src/Sophia_Script_for_Windows_10_PowerShell_7/Module/Sophia.psm1 b/src/Sophia_Script_for_Windows_10_PowerShell_7/Module/Sophia.psm1 index e6caa703..0b3342ac 100644 --- a/src/Sophia_Script_for_Windows_10_PowerShell_7/Module/Sophia.psm1 +++ b/src/Sophia_Script_for_Windows_10_PowerShell_7/Module/Sophia.psm1 @@ -2,8 +2,8 @@ .SYNOPSIS Sophia Script is a PowerShell module for Windows 10 & Windows 11 fine-tuning and automating the routine tasks - Version: v5.18.0 - Date: 02.02.2024 + Version: v5.18.1 + Date: 03.03.2024 Copyright (c) 2014—2024 farag Copyright (c) 2019—2024 farag & Inestic @@ -115,6 +115,42 @@ public static string GetIndirectString(string indirectString) Add-Type @Signature } + $Signature = @{ + Namespace = "WinAPI" + Name = "ForegroundWindow" + Language = "CSharp" + MemberDefinition = @" +[DllImport("user32.dll")] +public static extern bool ShowWindowAsync(IntPtr hWnd, int nCmdShow); + +[DllImport("user32.dll")] +[return: MarshalAs(UnmanagedType.Bool)] +public static extern bool SetForegroundWindow(IntPtr hWnd); +"@ + } + + if (-not ("WinAPI.ForegroundWindow" -as [type])) + { + try + { + Add-Type @Signature + } + catch [System.ComponentModel.Win32Exception] + { + Write-Warning -Message $Localization.NonLatinUsernameWarning + + Start-Process -FilePath "https://t.me/sophia_chat" + Start-Process -FilePath "https://discord.gg/sSryhaEv79" + + Start-Process -FilePath "https://github.com/PowerShell/PowerShell/releases/latest" + Start-Process -FilePath "https://github.com/farag2/Sophia-Script-for-Windows/releases/latest" + + Start-Process -FilePath "https://github.com/PowerShell/PowerShell/issues/21070" + + exit + } + } + # Check whether Microsoft Edge as being a system component was removed by harmful tweakers if (-not (Test-Path -Path "${env:ProgramFiles(x86)}\Microsoft\Edge\Application\msedge.exe")) { @@ -339,6 +375,8 @@ public static string GetIndirectString(string indirectString) # Check whether Get-WindowsEdition cmdlet is working try { + # Import PowerShell 5.1 DISM module + Import-Module -Name DISM -UseWindowsPowerShell Get-WindowsEdition -Online } catch [System.Runtime.InteropServices.COMException] @@ -1722,25 +1760,6 @@ function ScheduledTasks Add-Type -AssemblyName System.Windows.Forms - $Signature = @{ - Namespace = "WinAPI" - Name = "ForegroundWindow" - Language = "CSharp" - MemberDefinition = @" -[DllImport("user32.dll")] -public static extern bool ShowWindowAsync(IntPtr hWnd, int nCmdShow); - -[DllImport("user32.dll")] -[return: MarshalAs(UnmanagedType.Bool)] -public static extern bool SetForegroundWindow(IntPtr hWnd); -"@ - } - - if (-not ("WinAPI.ForegroundWindow" -as [type])) - { - Add-Type @Signature - } - Get-Process | Where-Object -FilterScript {(($_.ProcessName -eq "powershell") -or ($_.ProcessName -eq "WindowsTerminal")) -and ($_.MainWindowTitle -match "Sophia Script for Windows 10")} | ForEach-Object -Process { # Show window, if minimized [WinAPI.ForegroundWindow]::ShowWindowAsync($_.MainWindowHandle, 10) @@ -6623,25 +6642,6 @@ function WindowsFeatures Add-Type -AssemblyName System.Windows.Forms - $Signature = @{ - Namespace = "WinAPI" - Name = "ForegroundWindow" - Language = "CSharp" - MemberDefinition = @" -[DllImport("user32.dll")] -public static extern bool ShowWindowAsync(IntPtr hWnd, int nCmdShow); - -[DllImport("user32.dll")] -[return: MarshalAs(UnmanagedType.Bool)] -public static extern bool SetForegroundWindow(IntPtr hWnd); -"@ - } - - if (-not ("WinAPI.ForegroundWindow" -as [type])) - { - Add-Type @Signature - } - Get-Process | Where-Object -FilterScript {(($_.ProcessName -eq "powershell") -or ($_.ProcessName -eq "WindowsTerminal")) -and ($_.MainWindowTitle -match "Sophia Script for Windows 10")} | ForEach-Object -Process { # Show window, if minimized [WinAPI.ForegroundWindow]::ShowWindowAsync($_.MainWindowHandle, 10) @@ -7016,25 +7016,6 @@ function WindowsCapabilities Add-Type -AssemblyName System.Windows.Forms - $Signature = @{ - Namespace = "WinAPI" - Name = "ForegroundWindow" - Language = "CSharp" - MemberDefinition = @" -[DllImport("user32.dll")] -public static extern bool ShowWindowAsync(IntPtr hWnd, int nCmdShow); - -[DllImport("user32.dll")] -[return: MarshalAs(UnmanagedType.Bool)] -public static extern bool SetForegroundWindow(IntPtr hWnd); -"@ - } - - if (-not ("WinAPI.ForegroundWindow" -as [type])) - { - Add-Type @Signature - } - Get-Process | Where-Object -FilterScript {(($_.ProcessName -eq "powershell") -or ($_.ProcessName -eq "WindowsTerminal")) -and ($_.MainWindowTitle -match "Sophia Script for Windows 10")} | ForEach-Object -Process { # Show window, if minimized [WinAPI.ForegroundWindow]::ShowWindowAsync($_.MainWindowHandle, 10) @@ -7674,13 +7655,21 @@ public extern static int SHSetKnownFolderPath(ref Guid folderId, uint flags, Int { "Root" { - Write-Information -MessageData "" -InformationAction Continue - Write-Verbose -Message $Localization.RetrievingDrivesList -Verbose - # Store all fixed disks' letters to use them within Show-Menu function # https://learn.microsoft.com/en-us/dotnet/api/system.io.drivetype?view=net-7.0#fields $DriveLetters = @((Get-CimInstance -ClassName CIM_LogicalDisk | Where-Object -FilterScript {$_.DriveType -eq 3}).DeviceID | Sort-Object) + if ($DriveLetters.Count -eq 1) + { + Write-Information -MessageData "" -InformationAction Continue + Write-Verbose -Message $Localization.UserFolderLocationMove -Verbose + + return + } + + Write-Information -MessageData "" -InformationAction Continue + Write-Verbose -Message $Localization.RetrievingDrivesList -Verbose + # Desktop Write-Information -MessageData "" -InformationAction Continue Write-Verbose -Message ($Localization.DriveSelect -f [WinAPI.GetStrings]::GetString(21769)) -Verbose @@ -7878,7 +7867,17 @@ public extern static int SHSetKnownFolderPath(ref Guid folderId, uint flags, Int if ($FolderBrowserDialog.SelectedPath) { - Set-UserShellFolder -UserFolder Desktop -FolderPath $FolderBrowserDialog.SelectedPath + if ($FolderBrowserDialog.SelectedPath -eq "C:\") + { + Write-Information -MessageData "" -InformationAction Continue + Write-Verbose -Message $Localization.UserFolderLocationMove -Verbose + + continue + } + else + { + Set-UserShellFolder -UserFolder Desktop -FolderPath $FolderBrowserDialog.SelectedPath + } } } $Skip @@ -7918,7 +7917,17 @@ public extern static int SHSetKnownFolderPath(ref Guid folderId, uint flags, Int if ($FolderBrowserDialog.SelectedPath) { - Set-UserShellFolder -UserFolder Documents -FolderPath $FolderBrowserDialog.SelectedPath + if ($FolderBrowserDialog.SelectedPath -eq "C:\") + { + Write-Information -MessageData "" -InformationAction Continue + Write-Verbose -Message $Localization.UserFolderLocationMove -Verbose + + continue + } + else + { + Set-UserShellFolder -UserFolder Documents -FolderPath $FolderBrowserDialog.SelectedPath + } } } $Skip @@ -7958,7 +7967,17 @@ public extern static int SHSetKnownFolderPath(ref Guid folderId, uint flags, Int if ($FolderBrowserDialog.SelectedPath) { - Set-UserShellFolder -UserFolder Downloads -FolderPath $FolderBrowserDialog.SelectedPath + if ($FolderBrowserDialog.SelectedPath -eq "C:\") + { + Write-Information -MessageData "" -InformationAction Continue + Write-Verbose -Message $Localization.UserFolderLocationMove -Verbose + + continue + } + else + { + Set-UserShellFolder -UserFolder Downloads -FolderPath $FolderBrowserDialog.SelectedPath + } } } $Skip @@ -7998,7 +8017,17 @@ public extern static int SHSetKnownFolderPath(ref Guid folderId, uint flags, Int if ($FolderBrowserDialog.SelectedPath) { - Set-UserShellFolder -UserFolder Music -FolderPath $FolderBrowserDialog.SelectedPath + if ($FolderBrowserDialog.SelectedPath -eq "C:\") + { + Write-Information -MessageData "" -InformationAction Continue + Write-Verbose -Message $Localization.UserFolderLocationMove -Verbose + + continue + } + else + { + Set-UserShellFolder -UserFolder Music -FolderPath $FolderBrowserDialog.SelectedPath + } } } $Skip @@ -8038,7 +8067,17 @@ public extern static int SHSetKnownFolderPath(ref Guid folderId, uint flags, Int if ($FolderBrowserDialog.SelectedPath) { - Set-UserShellFolder -UserFolder Pictures -FolderPath $FolderBrowserDialog.SelectedPath + if ($FolderBrowserDialog.SelectedPath -eq "C:\") + { + Write-Information -MessageData "" -InformationAction Continue + Write-Verbose -Message $Localization.UserFolderLocationMove -Verbose + + continue + } + else + { + Set-UserShellFolder -UserFolder Pictures -FolderPath $FolderBrowserDialog.SelectedPath + } } } $Skip @@ -8078,7 +8117,17 @@ public extern static int SHSetKnownFolderPath(ref Guid folderId, uint flags, Int if ($FolderBrowserDialog.SelectedPath) { - Set-UserShellFolder -UserFolder Videos -FolderPath $FolderBrowserDialog.SelectedPath + if ($FolderBrowserDialog.SelectedPath -eq "C:\") + { + Write-Information -MessageData "" -InformationAction Continue + Write-Verbose -Message $Localization.UserFolderLocationMove -Verbose + + continue + } + else + { + Set-UserShellFolder -UserFolder Videos -FolderPath $FolderBrowserDialog.SelectedPath + } } } $Skip @@ -10506,7 +10555,7 @@ function InstallDotNetRuntimes param ( [Parameter( - Mandatory = $false, + Mandatory = $true, ParameterSetName = "Runtimes" )] [ValidateSet("NET6x86", "NET6x64", "NET7x86", "NET7x64", "NET8x86", "NET8x64")] @@ -11241,25 +11290,6 @@ function Install-WSL Add-Type -AssemblyName System.Windows.Forms - $Signature = @{ - Namespace = "WinAPI" - Name = "ForegroundWindow" - Language = "CSharp" - MemberDefinition = @" -[DllImport("user32.dll")] -public static extern bool ShowWindowAsync(IntPtr hWnd, int nCmdShow); - -[DllImport("user32.dll")] -[return: MarshalAs(UnmanagedType.Bool)] -public static extern bool SetForegroundWindow(IntPtr hWnd); -"@ - } - - if (-not ("WinAPI.ForegroundWindow" -as [type])) - { - Add-Type @Signature - } - Get-Process | Where-Object -FilterScript {(($_.ProcessName -eq "powershell") -or ($_.ProcessName -eq "WindowsTerminal")) -and ($_.MainWindowTitle -match "Sophia Script for Windows 10")} | ForEach-Object -Process { # Show window, if minimized [WinAPI.ForegroundWindow]::ShowWindowAsync($_.MainWindowHandle, 10) @@ -12115,25 +12145,6 @@ function UninstallUWPApps Add-Type -AssemblyName System.Windows.Forms - $Signature = @{ - Namespace = "WinAPI" - Name = "ForegroundWindow" - Language = "CSharp" - MemberDefinition = @" -[DllImport("user32.dll")] -public static extern bool ShowWindowAsync(IntPtr hWnd, int nCmdShow); - -[DllImport("user32.dll")] -[return: MarshalAs(UnmanagedType.Bool)] -public static extern bool SetForegroundWindow(IntPtr hWnd); -"@ - } - - if (-not ("WinAPI.ForegroundWindow" -as [type])) - { - Add-Type @Signature - } - Get-Process | Where-Object -FilterScript {(($_.ProcessName -eq "powershell") -or ($_.ProcessName -eq "WindowsTerminal")) -and ($_.MainWindowTitle -match "Sophia Script for Windows 10")} | ForEach-Object -Process { # Show window, if minimized [WinAPI.ForegroundWindow]::ShowWindowAsync($_.MainWindowHandle, 10) @@ -12454,25 +12465,6 @@ function RestoreUWPApps Add-Type -AssemblyName System.Windows.Forms - $Signature = @{ - Namespace = "WinAPI" - Name = "ForegroundWindow" - Language = "CSharp" - MemberDefinition = @" -[DllImport("user32.dll")] -public static extern bool ShowWindowAsync(IntPtr hWnd, int nCmdShow); - -[DllImport("user32.dll")] -[return: MarshalAs(UnmanagedType.Bool)] -public static extern bool SetForegroundWindow(IntPtr hWnd); -"@ - } - - if (-not ("WinAPI.ForegroundWindow" -as [type])) - { - Add-Type @Signature - } - Get-Process | Where-Object -FilterScript {(($_.ProcessName -eq "powershell") -or ($_.ProcessName -eq "WindowsTerminal")) -and ($_.MainWindowTitle -match "Sophia Script for Windows 10")} | ForEach-Object -Process { # Show window, if minimized [WinAPI.ForegroundWindow]::ShowWindowAsync($_.MainWindowHandle, 10) @@ -13254,7 +13246,7 @@ public static extern bool ShowWindowAsync(IntPtr hWnd, int nCmdShow); } `$ProcessInfo = New-Object -TypeName System.Diagnostics.ProcessStartInfo -`$ProcessInfo.FileName = """`$env:SystemRoot\System32\dism.exe""" +`$ProcessInfo.FileName = """`$env:SystemRoot\System32\Dism.exe""" `$ProcessInfo.Arguments = """/Online /English /Cleanup-Image /StartComponentCleanup /NoRestart""" `$ProcessInfo.UseShellExecute = `$true `$ProcessInfo.WindowStyle = [System.Diagnostics.ProcessWindowStyle]::Minimized @@ -14805,58 +14797,57 @@ function WindowsSandbox $Enable ) + if (-not (Get-WindowsEdition -Online | Where-Object -FilterScript {($_.Edition -eq "Professional") -or ($_.Edition -like "Enterprise*")})) + { + return + } + switch ($PSCmdlet.ParameterSetName) { "Disable" { - if (Get-WindowsEdition -Online | Where-Object -FilterScript {($_.Edition -eq "Professional") -or ($_.Edition -like "Enterprise*")}) + # Checking whether x86 virtualization is enabled in the firmware + if ((Get-CimInstance -ClassName CIM_Processor).VirtualizationFirmwareEnabled) { - # Checking whether x86 virtualization is enabled in the firmware - if ((Get-CimInstance -ClassName CIM_Processor).VirtualizationFirmwareEnabled) - { - Disable-WindowsOptionalFeature -FeatureName Containers-DisposableClientVM -Online -NoRestart - } - else + Disable-WindowsOptionalFeature -FeatureName Containers-DisposableClientVM -Online -NoRestart + } + else + { + try { - try + # Determining whether Hyper-V is enabled + if ((Get-CimInstance -ClassName CIM_ComputerSystem).HypervisorPresent) { - # Determining whether Hyper-V is enabled - if ((Get-CimInstance -ClassName CIM_ComputerSystem).HypervisorPresent) - { - Disable-WindowsOptionalFeature -FeatureName Containers-DisposableClientVM -Online -NoRestart - } - } - catch [System.Exception] - { - Write-Error -Message $Localization.EnableHardwareVT -ErrorAction SilentlyContinue + Disable-WindowsOptionalFeature -FeatureName Containers-DisposableClientVM -Online -NoRestart } } + catch [System.Exception] + { + Write-Error -Message $Localization.EnableHardwareVT -ErrorAction SilentlyContinue + } } } "Enable" { - if (Get-WindowsEdition -Online | Where-Object -FilterScript {($_.Edition -eq "Professional") -or ($_.Edition -like "Enterprise*")}) + # Checking whether x86 virtualization is enabled in the firmware + if ((Get-CimInstance -ClassName CIM_Processor).VirtualizationFirmwareEnabled) { - # Checking whether x86 virtualization is enabled in the firmware - if ((Get-CimInstance -ClassName CIM_Processor).VirtualizationFirmwareEnabled) - { - Enable-WindowsOptionalFeature -FeatureName Containers-DisposableClientVM -All -Online -NoRestart - } - else + Enable-WindowsOptionalFeature -FeatureName Containers-DisposableClientVM -All -Online -NoRestart + } + else + { + try { - try - { - # Determining whether Hyper-V is enabled - if ((Get-CimInstance -ClassName CIM_ComputerSystem).HypervisorPresent) - { - Enable-WindowsOptionalFeature -FeatureName Containers-DisposableClientVM -All -Online -NoRestart - } - } - catch [System.Exception] + # Determining whether Hyper-V is enabled + if ((Get-CimInstance -ClassName CIM_ComputerSystem).HypervisorPresent) { - Write-Error -Message $Localization.EnableHardwareVT -ErrorAction SilentlyContinue + Enable-WindowsOptionalFeature -FeatureName Containers-DisposableClientVM -All -Online -NoRestart } } + catch [System.Exception] + { + Write-Error -Message $Localization.EnableHardwareVT -ErrorAction SilentlyContinue + } } } } @@ -15069,19 +15060,21 @@ function CastToDeviceContext $Show ) + Remove-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked" -Name "{7AD84985-87B4-4a16-BE58-8B72A5B390F7}" -Force -ErrorAction Ignore + switch ($PSCmdlet.ParameterSetName) { "Hide" { - if (-not (Test-Path -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked")) + if (-not (Test-Path -Path "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked")) { - New-Item -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked" -Force + New-Item -Path "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked" -Force } - New-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked" -Name "{7AD84985-87B4-4a16-BE58-8B72A5B390F7}" -PropertyType String -Value "Play to menu" -Force + New-ItemProperty -Path "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked" -Name "{7AD84985-87B4-4a16-BE58-8B72A5B390F7}" -PropertyType String -Value "" -Force } "Show" { - Remove-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked" -Name "{7AD84985-87B4-4a16-BE58-8B72A5B390F7}" -Force -ErrorAction Ignore + Remove-ItemProperty -Path "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked" -Name "{7AD84985-87B4-4a16-BE58-8B72A5B390F7}" -Force -ErrorAction Ignore } } } @@ -15124,19 +15117,21 @@ function ShareContext $Show ) + Remove-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked" -Name "{E2BF9676-5F8F-435C-97EB-11607A5BEDF7}" -Force -ErrorAction Ignore + switch ($PSCmdlet.ParameterSetName) { "Hide" { - if (-not (Test-Path -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked")) + if (-not (Test-Path -Path "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked")) { - New-Item -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked" -Force + New-Item -Path "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked" -Force } - New-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked" -Name "{E2BF9676-5F8F-435C-97EB-11607A5BEDF7}" -PropertyType String -Value "" -Force + New-ItemProperty -Path "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked" -Name "{E2BF9676-5F8F-435C-97EB-11607A5BEDF7}" -PropertyType String -Value "" -Force } "Show" { - Remove-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked" -Name "{E2BF9676-5F8F-435C-97EB-11607A5BEDF7}" -Force -ErrorAction Ignore + Remove-ItemProperty -Path "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked" -Name "{E2BF9676-5F8F-435C-97EB-11607A5BEDF7}" -Force -ErrorAction Ignore } } } @@ -15179,25 +15174,29 @@ function EditWithPaint3DContext $Show ) - if (Get-AppxPackage -Name Microsoft.MSPaint) + if (-not (Get-AppxPackage -Name Microsoft.MSPaint)) { - switch ($PSCmdlet.ParameterSetName) + return + } + + $Extensions = @(".bmp", ".gif", ".jpe", ".jpeg", ".jpg", ".png", ".tif", ".tiff") + + switch ($PSCmdlet.ParameterSetName) + { + "Hide" { - "Hide" + $Extensions = @(".bmp", ".gif", ".jpe", ".jpeg", ".jpg", ".png", ".tif", ".tiff") + foreach ($Extension in $Extensions) { - $Extensions = @(".bmp", ".gif", ".jpe", ".jpeg", ".jpg", ".png", ".tif", ".tiff") - foreach ($Extension in $Extensions) - { - New-ItemProperty -Path "Registry::HKEY_CLASSES_ROOT\SystemFileAssociations\$Extension\Shell\3D Edit" -Name ProgrammaticAccessOnly -PropertyType String -Value "" -Force - } + New-ItemProperty -Path "Registry::HKEY_CLASSES_ROOT\SystemFileAssociations\$Extension\Shell\3D Edit" -Name ProgrammaticAccessOnly -PropertyType String -Value "" -Force } - "Show" + } + "Show" + { + $Extensions = @(".bmp", ".gif", ".jpe", ".jpeg", ".jpg", ".png", ".tif", ".tiff") + foreach ($Extension in $Extensions) { - $Extensions = @(".bmp", ".gif", ".jpe", ".jpeg", ".jpg", ".png", ".tif", ".tiff") - foreach ($Extension in $Extensions) - { - Remove-ItemProperty -Path "Registry::HKEY_CLASSES_ROOT\SystemFileAssociations\$Extension\Shell\3D Edit" -Name ProgrammaticAccessOnly -Force -ErrorAction Ignore - } + Remove-ItemProperty -Path "Registry::HKEY_CLASSES_ROOT\SystemFileAssociations\$Extension\Shell\3D Edit" -Name ProgrammaticAccessOnly -Force -ErrorAction Ignore } } } @@ -15241,18 +15240,20 @@ function EditWithPhotosContext $Show ) - if (Get-AppxPackage -Name Microsoft.Windows.Photos) + if (-not (Get-AppxPackage -Name Microsoft.Windows.Photos)) { - switch ($PSCmdlet.ParameterSetName) + return + } + + switch ($PSCmdlet.ParameterSetName) + { + "Hide" { - "Hide" - { - New-ItemProperty -Path Registry::HKEY_CLASSES_ROOT\AppX43hnxtbyyps62jhe9sqpdzxn1790zetc\Shell\ShellEdit -Name ProgrammaticAccessOnly -PropertyType String -Value "" -Force - } - "Show" - { - Remove-ItemProperty -Path Registry::HKEY_CLASSES_ROOT\AppX43hnxtbyyps62jhe9sqpdzxn1790zetc\Shell\ShellEdit -Name ProgrammaticAccessOnly -Force -ErrorAction Ignore - } + New-ItemProperty -Path Registry::HKEY_CLASSES_ROOT\AppX43hnxtbyyps62jhe9sqpdzxn1790zetc\Shell\ShellEdit -Name ProgrammaticAccessOnly -PropertyType String -Value "" -Force + } + "Show" + { + Remove-ItemProperty -Path Registry::HKEY_CLASSES_ROOT\AppX43hnxtbyyps62jhe9sqpdzxn1790zetc\Shell\ShellEdit -Name ProgrammaticAccessOnly -Force -ErrorAction Ignore } } } @@ -15295,18 +15296,20 @@ function CreateANewVideoContext $Show ) - if (Get-AppxPackage -Name Microsoft.Windows.Photos) + if (-not (Get-AppxPackage -Name Microsoft.Windows.Photos)) { - switch ($PSCmdlet.ParameterSetName) + return + } + + switch ($PSCmdlet.ParameterSetName) + { + "Hide" { - "Hide" - { - New-ItemProperty -Path Registry::HKEY_CLASSES_ROOT\AppX43hnxtbyyps62jhe9sqpdzxn1790zetc\Shell\ShellCreateVideo -Name ProgrammaticAccessOnly -PropertyType String -Value "" -Force - } - "Show" - { - Remove-ItemProperty -Path Registry::HKEY_CLASSES_ROOT\AppX43hnxtbyyps62jhe9sqpdzxn1790zetc\Shell\ShellCreateVideo -Name ProgrammaticAccessOnly -Force -ErrorAction Ignore - } + New-ItemProperty -Path Registry::HKEY_CLASSES_ROOT\AppX43hnxtbyyps62jhe9sqpdzxn1790zetc\Shell\ShellCreateVideo -Name ProgrammaticAccessOnly -PropertyType String -Value "" -Force + } + "Show" + { + Remove-ItemProperty -Path Registry::HKEY_CLASSES_ROOT\AppX43hnxtbyyps62jhe9sqpdzxn1790zetc\Shell\ShellCreateVideo -Name ProgrammaticAccessOnly -Force -ErrorAction Ignore } } } @@ -15349,18 +15352,24 @@ function ImagesEditContext $Show ) - if ((Get-WindowsCapability -Online -Name "Microsoft.Windows.MSPaint*").State -eq "Installed") + if (-not ((Get-WindowsCapability -Online -Name "Microsoft.Windows.MSPaint*").State -eq "Installed")) { - switch ($PSCmdlet.ParameterSetName) + return + } + + switch ($PSCmdlet.ParameterSetName) + { + "Hide" { - "Hide" - { - New-ItemProperty -Path Registry::HKEY_CLASSES_ROOT\SystemFileAssociations\image\shell\edit -Name ProgrammaticAccessOnly -PropertyType String -Value "" -Force - } - "Show" + if (-not (Test-Path -Path Registry::HKEY_CLASSES_ROOT\SystemFileAssociations\image\shell\edit)) { - Remove-ItemProperty -Path Registry::HKEY_CLASSES_ROOT\SystemFileAssociations\image\shell\edit -Name ProgrammaticAccessOnly -Force -ErrorAction Ignore + New-Item -Path Registry::HKEY_CLASSES_ROOT\SystemFileAssociations\image\shell\edit -Force } + New-ItemProperty -Path Registry::HKEY_CLASSES_ROOT\SystemFileAssociations\image\shell\edit -Name ProgrammaticAccessOnly -PropertyType String -Value "" -Force + } + "Show" + { + Remove-ItemProperty -Path Registry::HKEY_CLASSES_ROOT\SystemFileAssociations\image\shell\edit -Name ProgrammaticAccessOnly -Force -ErrorAction Ignore } } } diff --git a/src/Sophia_Script_for_Windows_10_PowerShell_7/Sophia.ps1 b/src/Sophia_Script_for_Windows_10_PowerShell_7/Sophia.ps1 index 9d844c97..1c03e4c9 100644 --- a/src/Sophia_Script_for_Windows_10_PowerShell_7/Sophia.ps1 +++ b/src/Sophia_Script_for_Windows_10_PowerShell_7/Sophia.ps1 @@ -2,8 +2,8 @@ .SYNOPSIS Default preset file for "Sophia Script for Windows 10 (PowerShell 7)" - Version: v5.18.0 - Date: 02.02.2024 + Version: v5.18.1 + Date: 03.03.2024 Copyright (c) 2014—2024 farag Copyright (c) 2019—2024 farag & Inestic @@ -70,7 +70,7 @@ param Clear-Host -$Host.UI.RawUI.WindowTitle = "Sophia Script for Windows 10 v5.18.0 (PowerShell 7) | Made with $([System.Char]::ConvertFromUtf32(0x1F497)) of Windows | $([System.Char]0x00A9) farag & Inestic, 2014$([System.Char]0x2013)2024" +$Host.UI.RawUI.WindowTitle = "Sophia Script for Windows 10 v5.18.1 (PowerShell 7) | Made with $([System.Char]::ConvertFromUtf32(0x1F497)) of Windows | $([System.Char]0x00A9) farag & Inestic, 2014$([System.Char]0x2013)2024" # PowerShell 7 doesn't load en-us localization automatically if there is no localization folder in user's language which is determined by $PSUICulture # https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.utility/import-localizeddata?view=powershell-7.3 @@ -1016,8 +1016,8 @@ UninstallPCHealthCheck InstallVCRedist <# - Install the latest .NET Desktop Runtime 6, 7 (x86/x64) - Установить последнюю версию .NET Desktop Runtime 6, 7 (x86/x64) + Install the latest .NET Desktop Runtime 6, 7, 8 (x86/x64) + Установить последнюю версию .NET Desktop Runtime 6, 7, 8 (x86/x64) https://dotnet.microsoft.com/en-us/download/dotnet #> diff --git a/src/Sophia_Script_for_Windows_11/Functions.ps1 b/src/Sophia_Script_for_Windows_11/Functions.ps1 index 03325840..600c44c3 100644 --- a/src/Sophia_Script_for_Windows_11/Functions.ps1 +++ b/src/Sophia_Script_for_Windows_11/Functions.ps1 @@ -2,8 +2,8 @@ .SYNOPSIS The TAB completion for functions and their arguments - Version: v6.6.0 - Date: 02.02.2024 + Version: v6.6.1 + Date: 03.03.2024 Copyright (c) 2014—2024 farag Copyright (c) 2019—2024 farag & Inestic @@ -50,7 +50,7 @@ function Sophia Clear-Host -$Host.UI.RawUI.WindowTitle = "Sophia Script for Windows 11 v6.6.0 | Made with $([System.Char]::ConvertFromUtf32(0x1F497)) of Windows | $([System.Char]0x00A9) farag & Inestic, 2014$([System.Char]0x2013)2024" +$Host.UI.RawUI.WindowTitle = "Sophia Script for Windows 11 v6.6.1 | Made with $([System.Char]::ConvertFromUtf32(0x1F497)) of Windows | $([System.Char]0x00A9) farag & Inestic, 2014$([System.Char]0x2013)2024" Remove-Module -Name Sophia -Force -ErrorAction Ignore Import-Module -Name $PSScriptRoot\Manifest\Sophia.psd1 -PassThru -Force diff --git a/src/Sophia_Script_for_Windows_11/Localizations/de-DE/Sophia.psd1 b/src/Sophia_Script_for_Windows_11/Localizations/de-DE/Sophia.psd1 index 203e609c..ced4df6b 100644 --- a/src/Sophia_Script_for_Windows_11/Localizations/de-DE/Sophia.psd1 +++ b/src/Sophia_Script_for_Windows_11/Localizations/de-DE/Sophia.psd1 @@ -27,6 +27,7 @@ WindowsFeaturesTitle = Windows-Features OptionalFeaturesTitle = Optionale Features EnableHardwareVT = Virtualisierung in UEFI aktivieren. UserShellFolderNotEmpty = Im Ordner "{0}" befinden sich noch Dateien \nVerschieben Sie sie manuell an einen neuen Ort. +UserFolderLocationMove = Sie sollten den Speicherort des Benutzerordners nicht in das Stammverzeichnis des Laufwerks C ändern. RetrievingDrivesList = Laufwerksliste abrufen... DriveSelect = Wählen Sie das Laufwerk aus, in dessen Stammverzeichnis der Ordner "{0}" erstellt werden soll. CurrentUserFolderLocation = Der aktuelle Speicherort des Ordners "{0}" lautet: "{1}". diff --git a/src/Sophia_Script_for_Windows_11/Localizations/en-US/Sophia.psd1 b/src/Sophia_Script_for_Windows_11/Localizations/en-US/Sophia.psd1 index 428f95a4..555027bc 100644 --- a/src/Sophia_Script_for_Windows_11/Localizations/en-US/Sophia.psd1 +++ b/src/Sophia_Script_for_Windows_11/Localizations/en-US/Sophia.psd1 @@ -27,6 +27,7 @@ WindowsFeaturesTitle = Windows features OptionalFeaturesTitle = Optional features EnableHardwareVT = Enable Virtualization in UEFI. UserShellFolderNotEmpty = Some files left in the "{0}" folder. Move them manually to a new location. +UserFolderLocationMove = You shouldn't change user folder location to C drive root. RetrievingDrivesList = Retrieving drives list... DriveSelect = Select the drive within the root of which the "{0}" folder will be created. CurrentUserFolderLocation = The current "{0}" folder location: "{1}". diff --git a/src/Sophia_Script_for_Windows_11/Localizations/es-ES/Sophia.psd1 b/src/Sophia_Script_for_Windows_11/Localizations/es-ES/Sophia.psd1 index c1313583..934cf371 100644 --- a/src/Sophia_Script_for_Windows_11/Localizations/es-ES/Sophia.psd1 +++ b/src/Sophia_Script_for_Windows_11/Localizations/es-ES/Sophia.psd1 @@ -27,6 +27,7 @@ WindowsFeaturesTitle = Características de Windows OptionalFeaturesTitle = Características opcionales EnableHardwareVT = Habilitar la virtualización en UEFI. UserShellFolderNotEmpty = Algunos archivos quedan en la carpeta "{0}". Moverlos manualmente a una nueva ubicación. +UserFolderLocationMove = No deberías cambiar la ubicación de la carpeta de usuario a la raíz de la unidad C. RetrievingDrivesList = Recuperando lista de unidades... DriveSelect = Seleccione la unidad dentro de la raíz de la cual se creó la carpeta "{0}". CurrentUserFolderLocation = La ubicación actual de la carpeta "{0}": "{1}". diff --git a/src/Sophia_Script_for_Windows_11/Localizations/fr-FR/Sophia.psd1 b/src/Sophia_Script_for_Windows_11/Localizations/fr-FR/Sophia.psd1 index 3ccae0bb..d10fa910 100644 --- a/src/Sophia_Script_for_Windows_11/Localizations/fr-FR/Sophia.psd1 +++ b/src/Sophia_Script_for_Windows_11/Localizations/fr-FR/Sophia.psd1 @@ -27,6 +27,7 @@ WindowsFeaturesTitle = Fonctionnalités OptionalFeaturesTitle = Fonctionnalités optionnelles EnableHardwareVT = Activer la virtualisation dans UEFI. UserShellFolderNotEmpty = Certains fichiers laissés dans le dossier "{0}". Déplacer les manuellement vers un nouvel emplacement. +UserFolderLocationMove = Vous ne devez pas changer l'emplacement du dossier de l'utilisateur pour la racine du lecteur C. RetrievingDrivesList = Récupération de la liste des lecteurs... DriveSelect = Sélectionnez le disque à la racine dans lequel le dossier "{0}" sera créé. CurrentUserFolderLocation = L'emplacement actuel du dossier "{0}": "{1}". diff --git a/src/Sophia_Script_for_Windows_11/Localizations/hu-HU/Sophia.psd1 b/src/Sophia_Script_for_Windows_11/Localizations/hu-HU/Sophia.psd1 index f4517dbe..6bd5b9bd 100644 --- a/src/Sophia_Script_for_Windows_11/Localizations/hu-HU/Sophia.psd1 +++ b/src/Sophia_Script_for_Windows_11/Localizations/hu-HU/Sophia.psd1 @@ -27,6 +27,7 @@ WindowsFeaturesTitle = Windows szolgáltatások OptionalFeaturesTitle = Opcionális szolgáltatások EnableHardwareVT = Virtualizáció engedélyezése UEFI-ben. UserShellFolderNotEmpty = Néhány fájl maradt a "{0}" könyvtárban. Kérem helyezze át ezeket egy új helyre. +UserFolderLocationMove = Nem szabad megváltoztatni a felhasználói mappa helyét a C meghajtó gyökerére. RetrievingDrivesList = A meghajtók listájának lekérése... DriveSelect = Válassza ki a meghajtó jelét a gyökérkönyvtárban ahol a "{0}" könyvtár létre lesz hozva. CurrentUserFolderLocation = Az aktuális "{0}" mappa helye: "{1}". diff --git a/src/Sophia_Script_for_Windows_11/Localizations/it-IT/Sophia.psd1 b/src/Sophia_Script_for_Windows_11/Localizations/it-IT/Sophia.psd1 index 3cd20cfd..3020443d 100644 --- a/src/Sophia_Script_for_Windows_11/Localizations/it-IT/Sophia.psd1 +++ b/src/Sophia_Script_for_Windows_11/Localizations/it-IT/Sophia.psd1 @@ -27,6 +27,7 @@ WindowsFeaturesTitle = Funzionalità di Windows OptionalFeaturesTitle = Caratteristiche opzionali EnableHardwareVT = Abilita virtualizzazione in UEFI. UserShellFolderNotEmpty = Alcuni file rimasti nella cartella "{0}". Spostali manualmente in una nuova posizione. +UserFolderLocationMove = Non si dovrebbe modificare la posizione della cartella utente nella radice dell'unità C. RetrievingDrivesList = Recupero lista unità... DriveSelect = Selezionare l'unità all'interno della radice del quale verrà creato la cartella "{0}" . CurrentUserFolderLocation = La posizione attuale della cartella "{0}": "{1}". diff --git a/src/Sophia_Script_for_Windows_11/Localizations/pl-PL/Sophia.psd1 b/src/Sophia_Script_for_Windows_11/Localizations/pl-PL/Sophia.psd1 index 69b18cd5..5882037f 100644 --- a/src/Sophia_Script_for_Windows_11/Localizations/pl-PL/Sophia.psd1 +++ b/src/Sophia_Script_for_Windows_11/Localizations/pl-PL/Sophia.psd1 @@ -27,6 +27,7 @@ WindowsFeaturesTitle = Funkcje Windows OptionalFeaturesTitle = Funkcje opcjonalne EnableHardwareVT = Włącz wirtualizację w UEFI. UserShellFolderNotEmpty = Niektóre pliki pozostały w folderze "{0}". Przenieś je ręcznie w nowe miejsce. +UserFolderLocationMove = Nie należy zmieniać lokalizacji folderu użytkownika na katalog główny dysku C. RetrievingDrivesList = Pobieranie listy dysków... DriveSelect = Wybierz dysk w katalogu głównym, w którym zostanie utworzony folder "{0}". CurrentUserFolderLocation = Lokalizacja folderu "{0}": "{1}". diff --git a/src/Sophia_Script_for_Windows_11/Localizations/pt-BR/Sophia.psd1 b/src/Sophia_Script_for_Windows_11/Localizations/pt-BR/Sophia.psd1 index 6c11bc1a..e0042935 100644 --- a/src/Sophia_Script_for_Windows_11/Localizations/pt-BR/Sophia.psd1 +++ b/src/Sophia_Script_for_Windows_11/Localizations/pt-BR/Sophia.psd1 @@ -27,6 +27,7 @@ WindowsFeaturesTitle = Recursos do Windows OptionalFeaturesTitle = Recursos opcionais EnableHardwareVT = Habilitar virtualização em UEFI. UserShellFolderNotEmpty = Alguns arquivos deixados na pasta "{0}". Movê-los manualmente para um novo local. +UserFolderLocationMove = Você não deve alterar o local da pasta do usuário para a raiz da unidade C. RetrievingDrivesList = Recuperando lista de unidades... DriveSelect = Selecione a unidade dentro da raiz da qual a pasta "{0}" será criada. CurrentUserFolderLocation = A localização actual da pasta "{0}": "{1}". diff --git a/src/Sophia_Script_for_Windows_11/Localizations/ru-RU/Sophia.psd1 b/src/Sophia_Script_for_Windows_11/Localizations/ru-RU/Sophia.psd1 index c608e2fc..54929db3 100644 --- a/src/Sophia_Script_for_Windows_11/Localizations/ru-RU/Sophia.psd1 +++ b/src/Sophia_Script_for_Windows_11/Localizations/ru-RU/Sophia.psd1 @@ -27,6 +27,7 @@ WindowsFeaturesTitle = Компоненты Windows OptionalFeaturesTitle = Дополнительные компоненты EnableHardwareVT = Включите виртуализацию в UEFI. UserShellFolderNotEmpty = В папке "{0}" остались файлы. Переместите их вручную в новое расположение. +UserFolderLocationMove = Не следует перемещать пользовательские папки в корень диска C. RetrievingDrivesList = Получение списка дисков... DriveSelect = Выберите диск, в корне которого будет создана папка "{0}". CurrentUserFolderLocation = Текущее расположение папки "{0}": "{1}". diff --git a/src/Sophia_Script_for_Windows_11/Localizations/tr-TR/Sophia.psd1 b/src/Sophia_Script_for_Windows_11/Localizations/tr-TR/Sophia.psd1 index 57b66a51..00c2c7e1 100644 --- a/src/Sophia_Script_for_Windows_11/Localizations/tr-TR/Sophia.psd1 +++ b/src/Sophia_Script_for_Windows_11/Localizations/tr-TR/Sophia.psd1 @@ -27,6 +27,7 @@ WindowsFeaturesTitle = Características do Windows OptionalFeaturesTitle = Opsiyonel özellikler EnableHardwareVT = UEFI'dan sanallaştırmayı aktifleştirin. UserShellFolderNotEmpty = "{0}" klasöründe bazı dosyalar kaldı. \nKendiniz yeni konuma taşıyın. +UserFolderLocationMove = Kullanıcı klasörü konumunu C sürücüsü kökü olarak değiştirmemelisiniz. RetrievingDrivesList = Sürücü listesi alınıyor... DriveSelect = "{0}" klasörünün oluşturulacağı kök içindeki sürücüyü seçin. CurrentUserFolderLocation = Geçerli "{0}" klasör konumu: "{1}". diff --git a/src/Sophia_Script_for_Windows_11/Localizations/uk-UA/Sophia.psd1 b/src/Sophia_Script_for_Windows_11/Localizations/uk-UA/Sophia.psd1 index 45833a2f..62620eaa 100644 --- a/src/Sophia_Script_for_Windows_11/Localizations/uk-UA/Sophia.psd1 +++ b/src/Sophia_Script_for_Windows_11/Localizations/uk-UA/Sophia.psd1 @@ -27,6 +27,7 @@ WindowsFeaturesTitle = Компоненти Windows OptionalFeaturesTitle = Додаткові компоненти EnableHardwareVT = Увімкніть віртуалізацію в UEFI. UserShellFolderNotEmpty = У папці "{0}" залишилися файли. Перемістіть їх вручну в нове розташування. +UserFolderLocationMove = Не слід переміщати користувацькі папки в корінь диска C. RetrievingDrivesList = Отримання списку дисків... DriveSelect = Виберіть диск, в корні якого буде створена папка для "{0}". CurrentUserFolderLocation = Поточне розташування папки "{0}": "{1}". diff --git a/src/Sophia_Script_for_Windows_11/Localizations/zh-CN/Sophia.psd1 b/src/Sophia_Script_for_Windows_11/Localizations/zh-CN/Sophia.psd1 index b9bb6ef7..7f69a98b 100644 --- a/src/Sophia_Script_for_Windows_11/Localizations/zh-CN/Sophia.psd1 +++ b/src/Sophia_Script_for_Windows_11/Localizations/zh-CN/Sophia.psd1 @@ -27,6 +27,7 @@ WindowsFeaturesTitle = Windows功能 OptionalFeaturesTitle = 可选功能 EnableHardwareVT = UEFI中开启虚拟化。 UserShellFolderNotEmpty = 一些文件留在了"{0}"文件夹。请手动将它们移到一个新位置。 +UserFolderLocationMove = 不应将用户文件夹位置更改为 C 盘根目录。 RetrievingDrivesList = 取得驱动器列表..... DriveSelect = 选择将在其根目录中创建"{0}"文件夹的驱动器。 CurrentUserFolderLocation = 当前"{0}"文件夹的位置:"{1}"。 diff --git a/src/Sophia_Script_for_Windows_11/Manifest/Sophia.psd1 b/src/Sophia_Script_for_Windows_11/Manifest/Sophia.psd1 index bfd2878f..6147bd6b 100644 --- a/src/Sophia_Script_for_Windows_11/Manifest/Sophia.psd1 +++ b/src/Sophia_Script_for_Windows_11/Manifest/Sophia.psd1 @@ -1,6 +1,6 @@ @{ RootModule = '..\Module\Sophia.psm1' - ModuleVersion = '6.6.0' + ModuleVersion = '6.6.1' GUID = '109cc881-c42b-45af-a74a-550781989d6a' Author = 'Dmitry "farag" Nefedov' Copyright = '(c) 2014—2024 farag & Inestic. All rights reserved' diff --git a/src/Sophia_Script_for_Windows_11/Module/Sophia.psm1 b/src/Sophia_Script_for_Windows_11/Module/Sophia.psm1 index 2b8b97b0..0c8a2298 100644 --- a/src/Sophia_Script_for_Windows_11/Module/Sophia.psm1 +++ b/src/Sophia_Script_for_Windows_11/Module/Sophia.psm1 @@ -2,8 +2,8 @@ .SYNOPSIS Sophia Script is a PowerShell module for Windows 10 & Windows 11 fine-tuning and automating the routine tasks - Version: v6.6.0 - Date: 02.02.2024 + Version: v6.6.1 + Date: 03.03.2024 Copyright (c) 2014—2024 farag Copyright (c) 2019—2024 farag & Inestic @@ -129,6 +129,44 @@ public static string GetIndirectString(string indirectString) Start-Process -FilePath "https://github.com/PowerShell/PowerShell/releases/latest" Start-Process -FilePath "https://github.com/farag2/Sophia-Script-for-Windows/releases/latest" + Start-Process -FilePath "https://github.com/PowerShell/PowerShell/issues/21070" + + exit + } + } + + $Signature = @{ + Namespace = "WinAPI" + Name = "ForegroundWindow" + Language = "CSharp" + MemberDefinition = @" +[DllImport("user32.dll")] +public static extern bool ShowWindowAsync(IntPtr hWnd, int nCmdShow); + +[DllImport("user32.dll")] +[return: MarshalAs(UnmanagedType.Bool)] +public static extern bool SetForegroundWindow(IntPtr hWnd); +"@ + } + + if (-not ("WinAPI.ForegroundWindow" -as [type])) + { + try + { + Add-Type @Signature + } + catch [System.ComponentModel.Win32Exception] + { + Write-Warning -Message $Localization.NonLatinUsernameWarning + + Start-Process -FilePath "https://t.me/sophia_chat" + Start-Process -FilePath "https://discord.gg/sSryhaEv79" + + Start-Process -FilePath "https://github.com/PowerShell/PowerShell/releases/latest" + Start-Process -FilePath "https://github.com/farag2/Sophia-Script-for-Windows/releases/latest" + + Start-Process -FilePath "https://github.com/PowerShell/PowerShell/issues/21070" + exit } } @@ -1715,25 +1753,6 @@ function ScheduledTasks Add-Type -AssemblyName System.Windows.Forms - $Signature = @{ - Namespace = "WinAPI" - Name = "ForegroundWindow" - Language = "CSharp" - MemberDefinition = @" -[DllImport("user32.dll")] -public static extern bool ShowWindowAsync(IntPtr hWnd, int nCmdShow); - -[DllImport("user32.dll")] -[return: MarshalAs(UnmanagedType.Bool)] -public static extern bool SetForegroundWindow(IntPtr hWnd); -"@ - } - - if (-not ("WinAPI.ForegroundWindow" -as [type])) - { - Add-Type @Signature - } - Get-Process | Where-Object -FilterScript {(($_.ProcessName -eq "powershell") -or ($_.ProcessName -eq "WindowsTerminal")) -and ($_.MainWindowTitle -match "Sophia Script for Windows 11")} | ForEach-Object -Process { # Show window, if minimized [WinAPI.ForegroundWindow]::ShowWindowAsync($_.MainWindowHandle, 10) @@ -6022,25 +6041,6 @@ function WindowsFeatures Add-Type -AssemblyName System.Windows.Forms - $Signature = @{ - Namespace = "WinAPI" - Name = "ForegroundWindow" - Language = "CSharp" - MemberDefinition = @" -[DllImport("user32.dll")] -public static extern bool ShowWindowAsync(IntPtr hWnd, int nCmdShow); - -[DllImport("user32.dll")] -[return: MarshalAs(UnmanagedType.Bool)] -public static extern bool SetForegroundWindow(IntPtr hWnd); -"@ - } - - if (-not ("WinAPI.ForegroundWindow" -as [type])) - { - Add-Type @Signature - } - Get-Process | Where-Object -FilterScript {(($_.ProcessName -eq "powershell") -or ($_.ProcessName -eq "WindowsTerminal")) -and ($_.MainWindowTitle -match "Sophia Script for Windows 11")} | ForEach-Object -Process { # Show window, if minimized [WinAPI.ForegroundWindow]::ShowWindowAsync($_.MainWindowHandle, 10) @@ -6412,25 +6412,6 @@ function WindowsCapabilities Add-Type -AssemblyName System.Windows.Forms - $Signature = @{ - Namespace = "WinAPI" - Name = "ForegroundWindow" - Language = "CSharp" - MemberDefinition = @" -[DllImport("user32.dll")] -public static extern bool ShowWindowAsync(IntPtr hWnd, int nCmdShow); - -[DllImport("user32.dll")] -[return: MarshalAs(UnmanagedType.Bool)] -public static extern bool SetForegroundWindow(IntPtr hWnd); -"@ - } - - if (-not ("WinAPI.ForegroundWindow" -as [type])) - { - Add-Type @Signature - } - Get-Process | Where-Object -FilterScript {(($_.ProcessName -eq "powershell") -or ($_.ProcessName -eq "WindowsTerminal")) -and ($_.MainWindowTitle -match "Sophia Script for Windows 11")} | ForEach-Object -Process { # Show window, if minimized [WinAPI.ForegroundWindow]::ShowWindowAsync($_.MainWindowHandle, 10) @@ -7274,13 +7255,21 @@ public extern static int SHSetKnownFolderPath(ref Guid folderId, uint flags, Int { "Root" { - Write-Information -MessageData "" -InformationAction Continue - Write-Verbose -Message $Localization.RetrievingDrivesList -Verbose - # Store all fixed disks' letters to use them within Show-Menu function # https://learn.microsoft.com/en-us/dotnet/api/system.io.drivetype?view=net-7.0#fields $DriveLetters = @((Get-CimInstance -ClassName CIM_LogicalDisk | Where-Object -FilterScript {$_.DriveType -eq 3}).DeviceID | Sort-Object) + if ($DriveLetters.Count -eq 1) + { + Write-Information -MessageData "" -InformationAction Continue + Write-Verbose -Message $Localization.UserFolderLocationMove -Verbose + + return + } + + Write-Information -MessageData "" -InformationAction Continue + Write-Verbose -Message $Localization.RetrievingDrivesList -Verbose + # Desktop Write-Information -MessageData "" -InformationAction Continue Write-Verbose -Message ($Localization.DriveSelect -f [WinAPI.GetStrings]::GetString(21769)) -Verbose @@ -7478,7 +7467,17 @@ public extern static int SHSetKnownFolderPath(ref Guid folderId, uint flags, Int if ($FolderBrowserDialog.SelectedPath) { - Set-UserShellFolder -UserFolder Desktop -FolderPath $FolderBrowserDialog.SelectedPath + if ($FolderBrowserDialog.SelectedPath -eq "C:\") + { + Write-Information -MessageData "" -InformationAction Continue + Write-Verbose -Message $Localization.UserFolderLocationMove -Verbose + + continue + } + else + { + Set-UserShellFolder -UserFolder Desktop -FolderPath $FolderBrowserDialog.SelectedPath + } } } $Skip @@ -7518,7 +7517,17 @@ public extern static int SHSetKnownFolderPath(ref Guid folderId, uint flags, Int if ($FolderBrowserDialog.SelectedPath) { - Set-UserShellFolder -UserFolder Documents -FolderPath $FolderBrowserDialog.SelectedPath + if ($FolderBrowserDialog.SelectedPath -eq "C:\") + { + Write-Information -MessageData "" -InformationAction Continue + Write-Verbose -Message $Localization.UserFolderLocationMove -Verbose + + continue + } + else + { + Set-UserShellFolder -UserFolder Documents -FolderPath $FolderBrowserDialog.SelectedPath + } } } $Skip @@ -7558,7 +7567,17 @@ public extern static int SHSetKnownFolderPath(ref Guid folderId, uint flags, Int if ($FolderBrowserDialog.SelectedPath) { - Set-UserShellFolder -UserFolder Downloads -FolderPath $FolderBrowserDialog.SelectedPath + if ($FolderBrowserDialog.SelectedPath -eq "C:\") + { + Write-Information -MessageData "" -InformationAction Continue + Write-Verbose -Message $Localization.UserFolderLocationMove -Verbose + + continue + } + else + { + Set-UserShellFolder -UserFolder Downloads -FolderPath $FolderBrowserDialog.SelectedPath + } } } $Skip @@ -7598,7 +7617,17 @@ public extern static int SHSetKnownFolderPath(ref Guid folderId, uint flags, Int if ($FolderBrowserDialog.SelectedPath) { - Set-UserShellFolder -UserFolder Music -FolderPath $FolderBrowserDialog.SelectedPath + if ($FolderBrowserDialog.SelectedPath -eq "C:\") + { + Write-Information -MessageData "" -InformationAction Continue + Write-Verbose -Message $Localization.UserFolderLocationMove -Verbose + + continue + } + else + { + Set-UserShellFolder -UserFolder Music -FolderPath $FolderBrowserDialog.SelectedPath + } } } $Skip @@ -7638,7 +7667,17 @@ public extern static int SHSetKnownFolderPath(ref Guid folderId, uint flags, Int if ($FolderBrowserDialog.SelectedPath) { - Set-UserShellFolder -UserFolder Pictures -FolderPath $FolderBrowserDialog.SelectedPath + if ($FolderBrowserDialog.SelectedPath -eq "C:\") + { + Write-Information -MessageData "" -InformationAction Continue + Write-Verbose -Message $Localization.UserFolderLocationMove -Verbose + + continue + } + else + { + Set-UserShellFolder -UserFolder Pictures -FolderPath $FolderBrowserDialog.SelectedPath + } } } $Skip @@ -7678,7 +7717,17 @@ public extern static int SHSetKnownFolderPath(ref Guid folderId, uint flags, Int if ($FolderBrowserDialog.SelectedPath) { - Set-UserShellFolder -UserFolder Videos -FolderPath $FolderBrowserDialog.SelectedPath + if ($FolderBrowserDialog.SelectedPath -eq "C:\") + { + Write-Information -MessageData "" -InformationAction Continue + Write-Verbose -Message $Localization.UserFolderLocationMove -Verbose + + continue + } + else + { + Set-UserShellFolder -UserFolder Videos -FolderPath $FolderBrowserDialog.SelectedPath + } } } $Skip @@ -9931,7 +9980,7 @@ function InstallDotNetRuntimes param ( [Parameter( - Mandatory = $false, + Mandatory = $true, ParameterSetName = "Runtimes" )] [ValidateSet("NET6x86", "NET6x64", "NET7x86", "NET7x64", "NET8x86", "NET8x64")] @@ -10750,25 +10799,6 @@ function Install-WSL Add-Type -AssemblyName System.Windows.Forms - $Signature = @{ - Namespace = "WinAPI" - Name = "ForegroundWindow" - Language = "CSharp" - MemberDefinition = @" -[DllImport("user32.dll")] -public static extern bool ShowWindowAsync(IntPtr hWnd, int nCmdShow); - -[DllImport("user32.dll")] -[return: MarshalAs(UnmanagedType.Bool)] -public static extern bool SetForegroundWindow(IntPtr hWnd); -"@ - } - - if (-not ("WinAPI.ForegroundWindow" -as [type])) - { - Add-Type @Signature - } - Get-Process | Where-Object -FilterScript {(($_.ProcessName -eq "powershell") -or ($_.ProcessName -eq "WindowsTerminal")) -and ($_.MainWindowTitle -match "Sophia Script for Windows 11")} | ForEach-Object -Process { # Show window, if minimized [WinAPI.ForegroundWindow]::ShowWindowAsync($_.MainWindowHandle, 10) @@ -11405,25 +11435,6 @@ function UninstallUWPApps Add-Type -AssemblyName System.Windows.Forms - $Signature = @{ - Namespace = "WinAPI" - Name = "ForegroundWindow" - Language = "CSharp" - MemberDefinition = @" -[DllImport("user32.dll")] -public static extern bool ShowWindowAsync(IntPtr hWnd, int nCmdShow); - -[DllImport("user32.dll")] -[return: MarshalAs(UnmanagedType.Bool)] -public static extern bool SetForegroundWindow(IntPtr hWnd); -"@ - } - - if (-not ("WinAPI.ForegroundWindow" -as [type])) - { - Add-Type @Signature - } - Get-Process | Where-Object -FilterScript {(($_.ProcessName -eq "powershell") -or ($_.ProcessName -eq "WindowsTerminal")) -and ($_.MainWindowTitle -match "Sophia Script for Windows 11")} | ForEach-Object -Process { # Show window, if minimized [WinAPI.ForegroundWindow]::ShowWindowAsync($_.MainWindowHandle, 10) @@ -11734,25 +11745,6 @@ function RestoreUWPApps Add-Type -AssemblyName System.Windows.Forms - $Signature = @{ - Namespace = "WinAPI" - Name = "ForegroundWindow" - Language = "CSharp" - MemberDefinition = @" -[DllImport("user32.dll")] -public static extern bool ShowWindowAsync(IntPtr hWnd, int nCmdShow); - -[DllImport("user32.dll")] -[return: MarshalAs(UnmanagedType.Bool)] -public static extern bool SetForegroundWindow(IntPtr hWnd); -"@ - } - - if (-not ("WinAPI.ForegroundWindow" -as [type])) - { - Add-Type @Signature - } - Get-Process | Where-Object -FilterScript {(($_.ProcessName -eq "powershell") -or ($_.ProcessName -eq "WindowsTerminal")) -and ($_.MainWindowTitle -match "Sophia Script for Windows 11")} | ForEach-Object -Process { # Show window, if minimized [WinAPI.ForegroundWindow]::ShowWindowAsync($_.MainWindowHandle, 10) @@ -12367,7 +12359,7 @@ public static extern bool ShowWindowAsync(IntPtr hWnd, int nCmdShow); } `$ProcessInfo = New-Object -TypeName System.Diagnostics.ProcessStartInfo -`$ProcessInfo.FileName = """`$env:SystemRoot\System32\dism.exe""" +`$ProcessInfo.FileName = """`$env:SystemRoot\System32\Dism.exe""" `$ProcessInfo.Arguments = """/Online /English /Cleanup-Image /StartComponentCleanup /NoRestart""" `$ProcessInfo.UseShellExecute = `$true `$ProcessInfo.WindowStyle = [System.Diagnostics.ProcessWindowStyle]::Minimized @@ -13861,58 +13853,57 @@ function WindowsSandbox $Enable ) + if (-not (Get-WindowsEdition -Online | Where-Object -FilterScript {($_.Edition -eq "Professional") -or ($_.Edition -like "Enterprise*")})) + { + return + } + switch ($PSCmdlet.ParameterSetName) { "Disable" { - if (Get-WindowsEdition -Online | Where-Object -FilterScript {($_.Edition -eq "Professional") -or ($_.Edition -like "Enterprise*")}) + # Checking whether x86 virtualization is enabled in the firmware + if ((Get-CimInstance -ClassName CIM_Processor).VirtualizationFirmwareEnabled) { - # Checking whether x86 virtualization is enabled in the firmware - if ((Get-CimInstance -ClassName CIM_Processor).VirtualizationFirmwareEnabled) - { - Disable-WindowsOptionalFeature -FeatureName Containers-DisposableClientVM -Online -NoRestart - } - else + Disable-WindowsOptionalFeature -FeatureName Containers-DisposableClientVM -Online -NoRestart + } + else + { + try { - try - { - # Determining whether Hyper-V is enabled - if ((Get-CimInstance -ClassName CIM_ComputerSystem).HypervisorPresent) - { - Disable-WindowsOptionalFeature -FeatureName Containers-DisposableClientVM -Online -NoRestart - } - } - catch [System.Exception] + # Determining whether Hyper-V is enabled + if ((Get-CimInstance -ClassName CIM_ComputerSystem).HypervisorPresent) { - Write-Error -Message $Localization.EnableHardwareVT -ErrorAction SilentlyContinue + Disable-WindowsOptionalFeature -FeatureName Containers-DisposableClientVM -Online -NoRestart } } + catch [System.Exception] + { + Write-Error -Message $Localization.EnableHardwareVT -ErrorAction SilentlyContinue + } } } "Enable" { - if (Get-WindowsEdition -Online | Where-Object -FilterScript {($_.Edition -eq "Professional") -or ($_.Edition -like "Enterprise*")}) + # Checking whether x86 virtualization is enabled in the firmware + if ((Get-CimInstance -ClassName CIM_Processor).VirtualizationFirmwareEnabled) { - # Checking whether x86 virtualization is enabled in the firmware - if ((Get-CimInstance -ClassName CIM_Processor).VirtualizationFirmwareEnabled) - { - Enable-WindowsOptionalFeature -FeatureName Containers-DisposableClientVM -All -Online -NoRestart - } - else + Enable-WindowsOptionalFeature -FeatureName Containers-DisposableClientVM -All -Online -NoRestart + } + else + { + try { - try - { - # Determining whether Hyper-V is enabled - if ((Get-CimInstance -ClassName CIM_ComputerSystem).HypervisorPresent) - { - Enable-WindowsOptionalFeature -FeatureName Containers-DisposableClientVM -All -Online -NoRestart - } - } - catch [System.Exception] + # Determining whether Hyper-V is enabled + if ((Get-CimInstance -ClassName CIM_ComputerSystem).HypervisorPresent) { - Write-Error -Message $Localization.EnableHardwareVT -ErrorAction SilentlyContinue + Enable-WindowsOptionalFeature -FeatureName Containers-DisposableClientVM -All -Online -NoRestart } } + catch [System.Exception] + { + Write-Error -Message $Localization.EnableHardwareVT -ErrorAction SilentlyContinue + } } } } @@ -14375,19 +14366,21 @@ function CastToDeviceContext $Show ) + Remove-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked" -Name "{7AD84985-87B4-4a16-BE58-8B72A5B390F7}" -Force -ErrorAction Ignore + switch ($PSCmdlet.ParameterSetName) { "Hide" { - if (-not (Test-Path -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked")) + if (-not (Test-Path -Path "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked")) { - New-Item -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked" -Force + New-Item -Path "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked" -Force } - New-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked" -Name "{7AD84985-87B4-4a16-BE58-8B72A5B390F7}" -PropertyType String -Value "Play to menu" -Force + New-ItemProperty -Path "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked" -Name "{7AD84985-87B4-4a16-BE58-8B72A5B390F7}" -PropertyType String -Value "" -Force } "Show" { - Remove-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked" -Name "{7AD84985-87B4-4a16-BE58-8B72A5B390F7}" -Force -ErrorAction Ignore + Remove-ItemProperty -Path "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked" -Name "{7AD84985-87B4-4a16-BE58-8B72A5B390F7}" -Force -ErrorAction Ignore } } } @@ -14485,22 +14478,26 @@ function EditWithClipchampContext $Show ) - if (Get-AppxPackage -Name Clipchamp.Clipchamp) + if (-not (Get-AppxPackage -Name Clipchamp.Clipchamp)) { - switch ($PSCmdlet.ParameterSetName) + return + } + + Remove-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked" -Name "{8AB635F8-9A67-4698-AB99-784AD929F3B4}" -Force -ErrorAction Ignore + + switch ($PSCmdlet.ParameterSetName) + { + "Hide" { - "Hide" - { - if (-not (Test-Path -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked")) - { - New-Item -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked" -Force - } - New-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked" -Name "{8AB635F8-9A67-4698-AB99-784AD929F3B4}" -PropertyType String -Value "Play to menu" -Force - } - "Show" + if (-not (Test-Path -Path "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked")) { - Remove-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked" -Name "{8AB635F8-9A67-4698-AB99-784AD929F3B4}" -Force -ErrorAction Ignore + New-Item -Path "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked" -Force } + New-ItemProperty -Path "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked" -Name "{8AB635F8-9A67-4698-AB99-784AD929F3B4}" -PropertyType String -Value "" -Force + } + "Show" + { + Remove-ItemProperty -Path "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked" -Name "{8AB635F8-9A67-4698-AB99-784AD929F3B4}" -Force -ErrorAction Ignore } } } @@ -14863,22 +14860,26 @@ function OpenWindowsTerminalContext $Hide ) - if (Get-AppxPackage -Name Microsoft.WindowsTerminal) + if (-not (Get-AppxPackage -Name Microsoft.WindowsTerminal)) { - switch ($PSCmdlet.ParameterSetName) + return + } + + Remove-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked" -Name "{9F156763-7844-4DC4-B2B1-901F640F5155}" -Force -ErrorAction Ignore + + switch ($PSCmdlet.ParameterSetName) + { + "Show" { - "Show" - { - Remove-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked" -Name "{9F156763-7844-4DC4-B2B1-901F640F5155}" -Force -ErrorAction Ignore - } - "Hide" + Remove-ItemProperty -Path "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked" -Name "{9F156763-7844-4DC4-B2B1-901F640F5155}" -Force -ErrorAction Ignore + } + "Hide" + { + if (-not (Test-Path -Path "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked")) { - if (-not (Test-Path -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked")) - { - New-Item -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked" -Force - } - New-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked" -Name "{9F156763-7844-4DC4-B2B1-901F640F5155}" -PropertyType String -Value "WindowsTerminal" -Force + New-Item -Path "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked" -Force } + New-ItemProperty -Path "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked" -Name "{9F156763-7844-4DC4-B2B1-901F640F5155}" -PropertyType String -Value "" -Force } } } @@ -14921,68 +14922,65 @@ function OpenWindowsTerminalAdminContext $Disable ) - # Check whether it is not blocked by policy - $BlockGUID = (Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked" -Name "{9F156763-7844-4DC4-B2B1-901F640F5155}" -ErrorAction Ignore) - # Check whether the package installed - $TerminalInstalled = (Get-AppxPackage -Name Microsoft.WindowsTerminal) - # Check whether Windows Terminal version is greater or equal than 1.11 - $TerminalInstalledVersion = ([System.Version](Get-AppxPackage -Name Microsoft.WindowsTerminal).Version -ge [System.Version]"1.11") - if ((-not $BlockGUID) -and $TerminalInstalled -and $TerminalInstalledVersion) + if (-not (Get-AppxPackage -Name Microsoft.WindowsTerminal)) { - if (-not (Test-Path -Path "$env:LOCALAPPDATA\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState\settings.json")) - { - Start-Process -FilePath wt -PassThru - Start-Sleep -Seconds 2 - Stop-Process -Name WindowsTerminal -Force -PassThru - } + return + } - try - { - Get-Content -Path "$env:LOCALAPPDATA\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState\settings.json" -Encoding UTF8 -Force | ConvertFrom-Json - } - catch [System.ArgumentException] - { - Write-Error -Message ($Global:Error.Exception.Message | Select-Object -First 1) -ErrorAction SilentlyContinue + if (-not (Test-Path -Path "$env:LOCALAPPDATA\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState\settings.json")) + { + Start-Process -FilePath wt -PassThru + Start-Sleep -Seconds 2 + Stop-Process -Name WindowsTerminal -Force -PassThru + } + + try + { + $Terminal = Get-Content -Path "$env:LOCALAPPDATA\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState\settings.json" -Encoding UTF8 -Force | ConvertFrom-Json + } + catch [System.ArgumentException] + { + Write-Error -Message ($Global:Error.Exception.Message | Select-Object -First 1) -ErrorAction SilentlyContinue - Invoke-Item -Path "$env:LOCALAPPDATA\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState" + Invoke-Item -Path "$env:LOCALAPPDATA\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState" - Write-Information -MessageData "" -InformationAction Continue - Write-Verbose -Message $Localization.Skipped -Verbose + Write-Information -MessageData "" -InformationAction Continue + Write-Verbose -Message $Localization.Skipped -Verbose - return - } + return + } - $Terminal = Get-Content -Path "$env:LOCALAPPDATA\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState\settings.json" -Encoding UTF8 -Force | ConvertFrom-Json + switch ($PSCmdlet.ParameterSetName) + { + "Enable" + { + Remove-ItemProperty -Path "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked" -Name "{9F156763-7844-4DC4-B2B1-901F640F5155}" -ErrorAction Ignore + Remove-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked" -Name "{9F156763-7844-4DC4-B2B1-901F640F5155}" -ErrorAction Ignore - switch ($PSCmdlet.ParameterSetName) + if ($Terminal.profiles.defaults.elevate) + { + $Terminal.profiles.defaults.elevate = $true + } + else + { + $Terminal.profiles.defaults | Add-Member -MemberType NoteProperty -Name elevate -Value $true -Force + } + } + "Disable" { - "Enable" + if ($Terminal.profiles.defaults.elevate) { - if ($Terminal.profiles.defaults.elevate) - { - $Terminal.profiles.defaults.elevate = $true - } - else - { - $Terminal.profiles.defaults | Add-Member -MemberType NoteProperty -Name elevate -Value $true -Force - } + $Terminal.profiles.defaults.elevate = $false } - "Disable" + else { - if ($Terminal.profiles.defaults.elevate) - { - $Terminal.profiles.defaults.elevate = $false - } - else - { - $Terminal.profiles.defaults | Add-Member -MemberType NoteProperty -Name elevate -Value $false -Force - } + $Terminal.profiles.defaults | Add-Member -MemberType NoteProperty -Name elevate -Value $false -Force } } - - # Save in UTF-8 with BOM despite JSON must not has the BOM: https://datatracker.ietf.org/doc/html/rfc8259#section-8.1. Unless Terminal profile names which contains non-Latin characters will have "?" instead of titles - ConvertTo-Json -InputObject $Terminal -Depth 4 | Set-Content -Path "$env:LOCALAPPDATA\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState\settings.json" -Encoding UTF8 -Force } + + # Save in UTF-8 with BOM despite JSON must not has the BOM: https://datatracker.ietf.org/doc/html/rfc8259#section-8.1. Unless Terminal profile names which contains non-Latin characters will have "?" instead of titles + ConvertTo-Json -InputObject $Terminal -Depth 4 | Set-Content -Path "$env:LOCALAPPDATA\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState\settings.json" -Encoding UTF8 -Force } <# diff --git a/src/Sophia_Script_for_Windows_11/Sophia.ps1 b/src/Sophia_Script_for_Windows_11/Sophia.ps1 index 0ce8e69a..41009bba 100644 --- a/src/Sophia_Script_for_Windows_11/Sophia.ps1 +++ b/src/Sophia_Script_for_Windows_11/Sophia.ps1 @@ -2,8 +2,8 @@ .SYNOPSIS Default preset file for "Sophia Script for Windows 11" - Version: v6.6.0 - Date: 02.02.2024 + Version: v6.6.1 + Date: 03.03.2024 Copyright (c) 2014—2024 farag Copyright (c) 2019—2024 farag & Inestic @@ -69,7 +69,7 @@ param Clear-Host -$Host.UI.RawUI.WindowTitle = "Sophia Script for Windows 11 v6.6.0 | Made with $([System.Char]::ConvertFromUtf32(0x1F497)) of Windows | $([System.Char]0x00A9) farag & Inestic, 2014$([System.Char]0x2013)2024" +$Host.UI.RawUI.WindowTitle = "Sophia Script for Windows 11 v6.6.1 | Made with $([System.Char]::ConvertFromUtf32(0x1F497)) of Windows | $([System.Char]0x00A9) farag & Inestic, 2014$([System.Char]0x2013)2024" Remove-Module -Name Sophia -Force -ErrorAction Ignore Import-LocalizedData -BindingVariable Global:Localization -BaseDirectory $PSScriptRoot\Localizations -FileName Sophia diff --git a/src/Sophia_Script_for_Windows_11_PowerShell_7/Functions.ps1 b/src/Sophia_Script_for_Windows_11_PowerShell_7/Functions.ps1 index b70a4fd1..223792f7 100644 --- a/src/Sophia_Script_for_Windows_11_PowerShell_7/Functions.ps1 +++ b/src/Sophia_Script_for_Windows_11_PowerShell_7/Functions.ps1 @@ -2,8 +2,8 @@ .SYNOPSIS The TAB completion for functions and their arguments - Version: v6.6.0 - Date: 02.02.2024 + Version: v6.6.1 + Date: 03.03.2024 Copyright (c) 2014—2024 farag Copyright (c) 2019—2024 farag & Inestic @@ -50,7 +50,7 @@ function Sophia Clear-Host -$Host.UI.RawUI.WindowTitle = "Sophia Script for Windows 11 v6.6.0 | Made with $([System.Char]::ConvertFromUtf32(0x1F497)) of Windows | $([System.Char]0x00A9) farag & Inestic, 2014$([System.Char]0x2013)2024" +$Host.UI.RawUI.WindowTitle = "Sophia Script for Windows 11 v6.6.1 | Made with $([System.Char]::ConvertFromUtf32(0x1F497)) of Windows | $([System.Char]0x00A9) farag & Inestic, 2014$([System.Char]0x2013)2024" Remove-Module -Name Sophia -Force -ErrorAction Ignore Import-Module -Name $PSScriptRoot\Manifest\Sophia.psd1 -PassThru -Force diff --git a/src/Sophia_Script_for_Windows_11_PowerShell_7/Localizations/de-DE/Sophia.psd1 b/src/Sophia_Script_for_Windows_11_PowerShell_7/Localizations/de-DE/Sophia.psd1 index 1a2798eb..99c2e103 100644 --- a/src/Sophia_Script_for_Windows_11_PowerShell_7/Localizations/de-DE/Sophia.psd1 +++ b/src/Sophia_Script_for_Windows_11_PowerShell_7/Localizations/de-DE/Sophia.psd1 @@ -26,6 +26,7 @@ WindowsFeaturesTitle = Windows-Features OptionalFeaturesTitle = Optionale Features EnableHardwareVT = Virtualisierung in UEFI aktivieren. UserShellFolderNotEmpty = Im Ordner "{0}" befinden sich noch Dateien \nVerschieben Sie sie manuell an einen neuen Ort. +UserFolderLocationMove = Sie sollten den Speicherort des Benutzerordners nicht in das Stammverzeichnis des Laufwerks C ändern. RetrievingDrivesList = Laufwerksliste abrufen... DriveSelect = Wählen Sie das Laufwerk aus, in dessen Stammverzeichnis der Ordner "{0}" erstellt werden soll. CurrentUserFolderLocation = Der aktuelle Speicherort des Ordners "{0}" lautet: "{1}". diff --git a/src/Sophia_Script_for_Windows_11_PowerShell_7/Localizations/en-US/Sophia.psd1 b/src/Sophia_Script_for_Windows_11_PowerShell_7/Localizations/en-US/Sophia.psd1 index 9a9e66fe..f134a4a9 100644 --- a/src/Sophia_Script_for_Windows_11_PowerShell_7/Localizations/en-US/Sophia.psd1 +++ b/src/Sophia_Script_for_Windows_11_PowerShell_7/Localizations/en-US/Sophia.psd1 @@ -26,6 +26,7 @@ WindowsFeaturesTitle = Windows features OptionalFeaturesTitle = Optional features EnableHardwareVT = Enable Virtualization in UEFI. UserShellFolderNotEmpty = Some files left in the "{0}" folder. Move them manually to a new location. +UserFolderLocationMove = You shouldn't change user folder location to C drive root. RetrievingDrivesList = Retrieving drives list... DriveSelect = Select the drive within the root of which the "{0}" folder will be created. CurrentUserFolderLocation = The current "{0}" folder location: "{1}". diff --git a/src/Sophia_Script_for_Windows_11_PowerShell_7/Localizations/es-ES/Sophia.psd1 b/src/Sophia_Script_for_Windows_11_PowerShell_7/Localizations/es-ES/Sophia.psd1 index 9f8e8f22..ea00cdaf 100644 --- a/src/Sophia_Script_for_Windows_11_PowerShell_7/Localizations/es-ES/Sophia.psd1 +++ b/src/Sophia_Script_for_Windows_11_PowerShell_7/Localizations/es-ES/Sophia.psd1 @@ -26,6 +26,7 @@ WindowsFeaturesTitle = Características de Windows OptionalFeaturesTitle = Características opcionales EnableHardwareVT = Habilitar la virtualización en UEFI. UserShellFolderNotEmpty = Algunos archivos quedan en la carpeta "{0}". Moverlos manualmente a una nueva ubicación. +UserFolderLocationMove = No deberías cambiar la ubicación de la carpeta de usuario a la raíz de la unidad C. RetrievingDrivesList = Recuperando lista de unidades... DriveSelect = Seleccione la unidad dentro de la raíz de la cual se creó la carpeta "{0}". CurrentUserFolderLocation = La ubicación actual de la carpeta "{0}": "{1}". diff --git a/src/Sophia_Script_for_Windows_11_PowerShell_7/Localizations/fr-FR/Sophia.psd1 b/src/Sophia_Script_for_Windows_11_PowerShell_7/Localizations/fr-FR/Sophia.psd1 index 96e57c9e..be68c330 100644 --- a/src/Sophia_Script_for_Windows_11_PowerShell_7/Localizations/fr-FR/Sophia.psd1 +++ b/src/Sophia_Script_for_Windows_11_PowerShell_7/Localizations/fr-FR/Sophia.psd1 @@ -26,6 +26,7 @@ WindowsFeaturesTitle = Fonctionnalités OptionalFeaturesTitle = Fonctionnalités optionnelles EnableHardwareVT = Activer la virtualisation dans UEFI. UserShellFolderNotEmpty = Certains fichiers laissés dans le dossier "{0}". Déplacer les manuellement vers un nouvel emplacement. +UserFolderLocationMove = Vous ne devez pas changer l'emplacement du dossier de l'utilisateur pour la racine du lecteur C. RetrievingDrivesList = Récupération de la liste des lecteurs... DriveSelect = Sélectionnez le disque à la racine dans lequel le dossier "{0}" sera créé. CurrentUserFolderLocation = L'emplacement actuel du dossier "{0}": "{1}". diff --git a/src/Sophia_Script_for_Windows_11_PowerShell_7/Localizations/hu-HU/Sophia.psd1 b/src/Sophia_Script_for_Windows_11_PowerShell_7/Localizations/hu-HU/Sophia.psd1 index 791c2164..a5994aff 100644 --- a/src/Sophia_Script_for_Windows_11_PowerShell_7/Localizations/hu-HU/Sophia.psd1 +++ b/src/Sophia_Script_for_Windows_11_PowerShell_7/Localizations/hu-HU/Sophia.psd1 @@ -26,6 +26,7 @@ WindowsFeaturesTitle = Windows szolgáltatások OptionalFeaturesTitle = Opcionális szolgáltatások EnableHardwareVT = Virtualizáció engedélyezése UEFI-ben. UserShellFolderNotEmpty = Néhány fájl maradt a "{0}" könyvtárban. Kérem helyezze át ezeket egy új helyre. +UserFolderLocationMove = Nem szabad megváltoztatni a felhasználói mappa helyét a C meghajtó gyökerére. RetrievingDrivesList = A meghajtók listájának lekérése... DriveSelect = Válassza ki a meghajtó jelét a gyökérkönyvtárban ahol a "{0}" könyvtár létre lesz hozva. CurrentUserFolderLocation = Az aktuális "{0}" mappa helye: "{1}". diff --git a/src/Sophia_Script_for_Windows_11_PowerShell_7/Localizations/it-IT/Sophia.psd1 b/src/Sophia_Script_for_Windows_11_PowerShell_7/Localizations/it-IT/Sophia.psd1 index 8dd49a44..93721149 100644 --- a/src/Sophia_Script_for_Windows_11_PowerShell_7/Localizations/it-IT/Sophia.psd1 +++ b/src/Sophia_Script_for_Windows_11_PowerShell_7/Localizations/it-IT/Sophia.psd1 @@ -26,6 +26,7 @@ WindowsFeaturesTitle = Funzionalità di Windows OptionalFeaturesTitle = Caratteristiche opzionali EnableHardwareVT = Abilita virtualizzazione in UEFI. UserShellFolderNotEmpty = Alcuni file rimasti nella cartella "{0}". Spostali manualmente in una nuova posizione. +UserFolderLocationMove = Non si dovrebbe modificare la posizione della cartella utente nella radice dell'unità C. RetrievingDrivesList = Recupero lista unità... DriveSelect = Selezionare l'unità all'interno della radice del quale verrà creato la cartella "{0}" . CurrentUserFolderLocation = La posizione attuale della cartella "{0}": "{1}". diff --git a/src/Sophia_Script_for_Windows_11_PowerShell_7/Localizations/pl-PL/Sophia.psd1 b/src/Sophia_Script_for_Windows_11_PowerShell_7/Localizations/pl-PL/Sophia.psd1 index 9a68963e..2cac66ba 100644 --- a/src/Sophia_Script_for_Windows_11_PowerShell_7/Localizations/pl-PL/Sophia.psd1 +++ b/src/Sophia_Script_for_Windows_11_PowerShell_7/Localizations/pl-PL/Sophia.psd1 @@ -26,6 +26,7 @@ WindowsFeaturesTitle = Funkcje Windows OptionalFeaturesTitle = Funkcje opcjonalne EnableHardwareVT = Włącz wirtualizację w UEFI. UserShellFolderNotEmpty = Niektóre pliki pozostały w folderze "{0}". Przenieś je ręcznie w nowe miejsce. +UserFolderLocationMove = Nie należy zmieniać lokalizacji folderu użytkownika na katalog główny dysku C. RetrievingDrivesList = Pobieranie listy dysków... DriveSelect = Wybierz dysk w katalogu głównym, w którym zostanie utworzony folder "{0}". CurrentUserFolderLocation = Lokalizacja folderu "{0}": "{1}". diff --git a/src/Sophia_Script_for_Windows_11_PowerShell_7/Localizations/pt-BR/Sophia.psd1 b/src/Sophia_Script_for_Windows_11_PowerShell_7/Localizations/pt-BR/Sophia.psd1 index 4e708ee3..c8d4a610 100644 --- a/src/Sophia_Script_for_Windows_11_PowerShell_7/Localizations/pt-BR/Sophia.psd1 +++ b/src/Sophia_Script_for_Windows_11_PowerShell_7/Localizations/pt-BR/Sophia.psd1 @@ -26,6 +26,7 @@ WindowsFeaturesTitle = Recursos do Windows OptionalFeaturesTitle = Recursos opcionais EnableHardwareVT = Habilitar virtualização em UEFI. UserShellFolderNotEmpty = Alguns arquivos deixados na pasta "{0}". Movê-los manualmente para um novo local. +UserFolderLocationMove = Você não deve alterar o local da pasta do usuário para a raiz da unidade C. RetrievingDrivesList = Recuperando lista de unidades... DriveSelect = Selecione a unidade dentro da raiz da qual a pasta "{0}" será criada. CurrentUserFolderLocation = A localização actual da pasta "{0}": "{1}". diff --git a/src/Sophia_Script_for_Windows_11_PowerShell_7/Localizations/ru-RU/Sophia.psd1 b/src/Sophia_Script_for_Windows_11_PowerShell_7/Localizations/ru-RU/Sophia.psd1 index f815c2fa..0a18dbb1 100644 --- a/src/Sophia_Script_for_Windows_11_PowerShell_7/Localizations/ru-RU/Sophia.psd1 +++ b/src/Sophia_Script_for_Windows_11_PowerShell_7/Localizations/ru-RU/Sophia.psd1 @@ -26,6 +26,7 @@ WindowsFeaturesTitle = Компоненты Windows OptionalFeaturesTitle = Дополнительные компоненты EnableHardwareVT = Включите виртуализацию в UEFI. UserShellFolderNotEmpty = В папке "{0}" остались файлы. Переместите их вручную в новое расположение. +UserFolderLocationMove = Не следует перемещать пользовательские папки в корень диска C. RetrievingDrivesList = Получение списка дисков... DriveSelect = Выберите диск, в корне которого будет создана папка "{0}". CurrentUserFolderLocation = Текущее расположение папки "{0}": "{1}". diff --git a/src/Sophia_Script_for_Windows_11_PowerShell_7/Localizations/tr-TR/Sophia.psd1 b/src/Sophia_Script_for_Windows_11_PowerShell_7/Localizations/tr-TR/Sophia.psd1 index 3447b6bf..83147bf7 100644 --- a/src/Sophia_Script_for_Windows_11_PowerShell_7/Localizations/tr-TR/Sophia.psd1 +++ b/src/Sophia_Script_for_Windows_11_PowerShell_7/Localizations/tr-TR/Sophia.psd1 @@ -26,6 +26,7 @@ WindowsFeaturesTitle = Características do Windows OptionalFeaturesTitle = Opsiyonel özellikler EnableHardwareVT = UEFI'dan sanallaştırmayı aktifleştirin. UserShellFolderNotEmpty = "{0}" klasöründe bazı dosyalar kaldı. \nKendiniz yeni konuma taşıyın. +UserFolderLocationMove = Kullanıcı klasörü konumunu C sürücüsü kökü olarak değiştirmemelisiniz. RetrievingDrivesList = Sürücü listesi alınıyor... DriveSelect = "{0}" klasörünün oluşturulacağı kök içindeki sürücüyü seçin. CurrentUserFolderLocation = Geçerli "{0}" klasör konumu: "{1}". diff --git a/src/Sophia_Script_for_Windows_11_PowerShell_7/Localizations/uk-UA/Sophia.psd1 b/src/Sophia_Script_for_Windows_11_PowerShell_7/Localizations/uk-UA/Sophia.psd1 index 896c765d..af41d0b8 100644 --- a/src/Sophia_Script_for_Windows_11_PowerShell_7/Localizations/uk-UA/Sophia.psd1 +++ b/src/Sophia_Script_for_Windows_11_PowerShell_7/Localizations/uk-UA/Sophia.psd1 @@ -26,6 +26,7 @@ WindowsFeaturesTitle = Компоненти Windows OptionalFeaturesTitle = Додаткові компоненти EnableHardwareVT = Увімкніть віртуалізацію в UEFI. UserShellFolderNotEmpty = У папці "{0}" залишилися файли. Перемістіть їх вручну в нове розташування. +UserFolderLocationMove = Не слід переміщати користувацькі папки в корінь диска C. RetrievingDrivesList = Отримання списку дисків... DriveSelect = Виберіть диск, в корні якого буде створена папка для "{0}". CurrentUserFolderLocation = Поточне розташування папки "{0}": "{1}". diff --git a/src/Sophia_Script_for_Windows_11_PowerShell_7/Localizations/zh-CN/Sophia.psd1 b/src/Sophia_Script_for_Windows_11_PowerShell_7/Localizations/zh-CN/Sophia.psd1 index 988c32f0..ea424cf7 100644 --- a/src/Sophia_Script_for_Windows_11_PowerShell_7/Localizations/zh-CN/Sophia.psd1 +++ b/src/Sophia_Script_for_Windows_11_PowerShell_7/Localizations/zh-CN/Sophia.psd1 @@ -26,6 +26,7 @@ WindowsFeaturesTitle = Windows功能 OptionalFeaturesTitle = 可选功能 EnableHardwareVT = UEFI中开启虚拟化。 UserShellFolderNotEmpty = 一些文件留在了"{0}"文件夹。请手动将它们移到一个新位置。 +UserFolderLocationMove = 不应将用户文件夹位置更改为 C 盘根目录。 RetrievingDrivesList = 取得驱动器列表..... DriveSelect = 选择将在其根目录中创建"{0}"文件夹的驱动器。 CurrentUserFolderLocation = 当前"{0}"文件夹的位置:"{1}"。 diff --git a/src/Sophia_Script_for_Windows_11_PowerShell_7/Manifest/Sophia.psd1 b/src/Sophia_Script_for_Windows_11_PowerShell_7/Manifest/Sophia.psd1 index 997bd564..5a4ab136 100644 --- a/src/Sophia_Script_for_Windows_11_PowerShell_7/Manifest/Sophia.psd1 +++ b/src/Sophia_Script_for_Windows_11_PowerShell_7/Manifest/Sophia.psd1 @@ -1,6 +1,6 @@ @{ RootModule = '..\Module\Sophia.psm1' - ModuleVersion = '6.6.0' + ModuleVersion = '6.6.1' GUID = '109cc881-c42b-45af-a74a-550781989d6a' Author = 'Dmitry "farag" Nefedov' Copyright = '(c) 2014—2024 farag & Inestic. All rights reserved' diff --git a/src/Sophia_Script_for_Windows_11_PowerShell_7/Module/Sophia.psm1 b/src/Sophia_Script_for_Windows_11_PowerShell_7/Module/Sophia.psm1 index 64af6f32..602ca0a8 100644 --- a/src/Sophia_Script_for_Windows_11_PowerShell_7/Module/Sophia.psm1 +++ b/src/Sophia_Script_for_Windows_11_PowerShell_7/Module/Sophia.psm1 @@ -2,8 +2,8 @@ .SYNOPSIS Sophia Script is a PowerShell module for Windows 10 & Windows 11 fine-tuning and automating the routine tasks - Version: v6.6.0 - Date: 02.02.2024 + Version: v6.6.1 + Date: 03.03.2024 Copyright (c) 2014—2024 farag Copyright (c) 2019—2024 farag & Inestic @@ -114,6 +114,42 @@ public static string GetIndirectString(string indirectString) Add-Type @Signature } + $Signature = @{ + Namespace = "WinAPI" + Name = "ForegroundWindow" + Language = "CSharp" + MemberDefinition = @" +[DllImport("user32.dll")] +public static extern bool ShowWindowAsync(IntPtr hWnd, int nCmdShow); + +[DllImport("user32.dll")] +[return: MarshalAs(UnmanagedType.Bool)] +public static extern bool SetForegroundWindow(IntPtr hWnd); +"@ + } + + if (-not ("WinAPI.ForegroundWindow" -as [type])) + { + try + { + Add-Type @Signature + } + catch [System.ComponentModel.Win32Exception] + { + Write-Warning -Message $Localization.NonLatinUsernameWarning + + Start-Process -FilePath "https://t.me/sophia_chat" + Start-Process -FilePath "https://discord.gg/sSryhaEv79" + + Start-Process -FilePath "https://github.com/PowerShell/PowerShell/releases/latest" + Start-Process -FilePath "https://github.com/farag2/Sophia-Script-for-Windows/releases/latest" + + Start-Process -FilePath "https://github.com/PowerShell/PowerShell/issues/21070" + + exit + } + } + # Check whether Microsoft Edge as being a system component was removed by harmful tweakers if (-not (Test-Path -Path "${env:ProgramFiles(x86)}\Microsoft\Edge\Application\msedge.exe")) { @@ -327,6 +363,8 @@ public static string GetIndirectString(string indirectString) # Check whether Get-WindowsEdition cmdlet is working try { + # Import PowerShell 5.1 DISM module + Import-Module -Name DISM -UseWindowsPowerShell Get-WindowsEdition -Online } catch [System.Runtime.InteropServices.COMException] @@ -1701,25 +1739,6 @@ function ScheduledTasks Add-Type -AssemblyName System.Windows.Forms - $Signature = @{ - Namespace = "WinAPI" - Name = "ForegroundWindow" - Language = "CSharp" - MemberDefinition = @" -[DllImport("user32.dll")] -public static extern bool ShowWindowAsync(IntPtr hWnd, int nCmdShow); - -[DllImport("user32.dll")] -[return: MarshalAs(UnmanagedType.Bool)] -public static extern bool SetForegroundWindow(IntPtr hWnd); -"@ - } - - if (-not ("WinAPI.ForegroundWindow" -as [type])) - { - Add-Type @Signature - } - Get-Process | Where-Object -FilterScript {(($_.ProcessName -eq "powershell") -or ($_.ProcessName -eq "WindowsTerminal")) -and ($_.MainWindowTitle -match "Sophia Script for Windows 11")} | ForEach-Object -Process { # Show window, if minimized [WinAPI.ForegroundWindow]::ShowWindowAsync($_.MainWindowHandle, 10) @@ -6008,25 +6027,6 @@ function WindowsFeatures Add-Type -AssemblyName System.Windows.Forms - $Signature = @{ - Namespace = "WinAPI" - Name = "ForegroundWindow" - Language = "CSharp" - MemberDefinition = @" -[DllImport("user32.dll")] -public static extern bool ShowWindowAsync(IntPtr hWnd, int nCmdShow); - -[DllImport("user32.dll")] -[return: MarshalAs(UnmanagedType.Bool)] -public static extern bool SetForegroundWindow(IntPtr hWnd); -"@ - } - - if (-not ("WinAPI.ForegroundWindow" -as [type])) - { - Add-Type @Signature - } - Get-Process | Where-Object -FilterScript {(($_.ProcessName -eq "powershell") -or ($_.ProcessName -eq "WindowsTerminal")) -and ($_.MainWindowTitle -match "Sophia Script for Windows 11")} | ForEach-Object -Process { # Show window, if minimized [WinAPI.ForegroundWindow]::ShowWindowAsync($_.MainWindowHandle, 10) @@ -6398,25 +6398,6 @@ function WindowsCapabilities Add-Type -AssemblyName System.Windows.Forms - $Signature = @{ - Namespace = "WinAPI" - Name = "ForegroundWindow" - Language = "CSharp" - MemberDefinition = @" -[DllImport("user32.dll")] -public static extern bool ShowWindowAsync(IntPtr hWnd, int nCmdShow); - -[DllImport("user32.dll")] -[return: MarshalAs(UnmanagedType.Bool)] -public static extern bool SetForegroundWindow(IntPtr hWnd); -"@ - } - - if (-not ("WinAPI.ForegroundWindow" -as [type])) - { - Add-Type @Signature - } - Get-Process | Where-Object -FilterScript {(($_.ProcessName -eq "powershell") -or ($_.ProcessName -eq "WindowsTerminal")) -and ($_.MainWindowTitle -match "Sophia Script for Windows 11")} | ForEach-Object -Process { # Show window, if minimized [WinAPI.ForegroundWindow]::ShowWindowAsync($_.MainWindowHandle, 10) @@ -7260,13 +7241,21 @@ public extern static int SHSetKnownFolderPath(ref Guid folderId, uint flags, Int { "Root" { - Write-Information -MessageData "" -InformationAction Continue - Write-Verbose -Message $Localization.RetrievingDrivesList -Verbose - # Store all fixed disks' letters to use them within Show-Menu function # https://learn.microsoft.com/en-us/dotnet/api/system.io.drivetype?view=net-7.0#fields $DriveLetters = @((Get-CimInstance -ClassName CIM_LogicalDisk | Where-Object -FilterScript {$_.DriveType -eq 3}).DeviceID | Sort-Object) + if ($DriveLetters.Count -eq 1) + { + Write-Information -MessageData "" -InformationAction Continue + Write-Verbose -Message $Localization.UserFolderLocationMove -Verbose + + return + } + + Write-Information -MessageData "" -InformationAction Continue + Write-Verbose -Message $Localization.RetrievingDrivesList -Verbose + # Desktop Write-Information -MessageData "" -InformationAction Continue Write-Verbose -Message ($Localization.DriveSelect -f [WinAPI.GetStrings]::GetString(21769)) -Verbose @@ -7464,7 +7453,17 @@ public extern static int SHSetKnownFolderPath(ref Guid folderId, uint flags, Int if ($FolderBrowserDialog.SelectedPath) { - Set-UserShellFolder -UserFolder Desktop -FolderPath $FolderBrowserDialog.SelectedPath + if ($FolderBrowserDialog.SelectedPath -eq "C:\") + { + Write-Information -MessageData "" -InformationAction Continue + Write-Verbose -Message $Localization.UserFolderLocationMove -Verbose + + continue + } + else + { + Set-UserShellFolder -UserFolder Desktop -FolderPath $FolderBrowserDialog.SelectedPath + } } } $Skip @@ -7504,7 +7503,17 @@ public extern static int SHSetKnownFolderPath(ref Guid folderId, uint flags, Int if ($FolderBrowserDialog.SelectedPath) { - Set-UserShellFolder -UserFolder Documents -FolderPath $FolderBrowserDialog.SelectedPath + if ($FolderBrowserDialog.SelectedPath -eq "C:\") + { + Write-Information -MessageData "" -InformationAction Continue + Write-Verbose -Message $Localization.UserFolderLocationMove -Verbose + + continue + } + else + { + Set-UserShellFolder -UserFolder Documents -FolderPath $FolderBrowserDialog.SelectedPath + } } } $Skip @@ -7544,7 +7553,17 @@ public extern static int SHSetKnownFolderPath(ref Guid folderId, uint flags, Int if ($FolderBrowserDialog.SelectedPath) { - Set-UserShellFolder -UserFolder Downloads -FolderPath $FolderBrowserDialog.SelectedPath + if ($FolderBrowserDialog.SelectedPath -eq "C:\") + { + Write-Information -MessageData "" -InformationAction Continue + Write-Verbose -Message $Localization.UserFolderLocationMove -Verbose + + continue + } + else + { + Set-UserShellFolder -UserFolder Downloads -FolderPath $FolderBrowserDialog.SelectedPath + } } } $Skip @@ -7584,7 +7603,17 @@ public extern static int SHSetKnownFolderPath(ref Guid folderId, uint flags, Int if ($FolderBrowserDialog.SelectedPath) { - Set-UserShellFolder -UserFolder Music -FolderPath $FolderBrowserDialog.SelectedPath + if ($FolderBrowserDialog.SelectedPath -eq "C:\") + { + Write-Information -MessageData "" -InformationAction Continue + Write-Verbose -Message $Localization.UserFolderLocationMove -Verbose + + continue + } + else + { + Set-UserShellFolder -UserFolder Music -FolderPath $FolderBrowserDialog.SelectedPath + } } } $Skip @@ -7624,7 +7653,17 @@ public extern static int SHSetKnownFolderPath(ref Guid folderId, uint flags, Int if ($FolderBrowserDialog.SelectedPath) { - Set-UserShellFolder -UserFolder Pictures -FolderPath $FolderBrowserDialog.SelectedPath + if ($FolderBrowserDialog.SelectedPath -eq "C:\") + { + Write-Information -MessageData "" -InformationAction Continue + Write-Verbose -Message $Localization.UserFolderLocationMove -Verbose + + continue + } + else + { + Set-UserShellFolder -UserFolder Pictures -FolderPath $FolderBrowserDialog.SelectedPath + } } } $Skip @@ -7664,7 +7703,17 @@ public extern static int SHSetKnownFolderPath(ref Guid folderId, uint flags, Int if ($FolderBrowserDialog.SelectedPath) { - Set-UserShellFolder -UserFolder Videos -FolderPath $FolderBrowserDialog.SelectedPath + if ($FolderBrowserDialog.SelectedPath -eq "C:\") + { + Write-Information -MessageData "" -InformationAction Continue + Write-Verbose -Message $Localization.UserFolderLocationMove -Verbose + + continue + } + else + { + Set-UserShellFolder -UserFolder Videos -FolderPath $FolderBrowserDialog.SelectedPath + } } } $Skip @@ -9917,7 +9966,7 @@ function InstallDotNetRuntimes param ( [Parameter( - Mandatory = $false, + Mandatory = $true, ParameterSetName = "Runtimes" )] [ValidateSet("NET6x86", "NET6x64", "NET7x86", "NET7x64", "NET8x86", "NET8x64")] @@ -10736,25 +10785,6 @@ function Install-WSL Add-Type -AssemblyName System.Windows.Forms - $Signature = @{ - Namespace = "WinAPI" - Name = "ForegroundWindow" - Language = "CSharp" - MemberDefinition = @" -[DllImport("user32.dll")] -public static extern bool ShowWindowAsync(IntPtr hWnd, int nCmdShow); - -[DllImport("user32.dll")] -[return: MarshalAs(UnmanagedType.Bool)] -public static extern bool SetForegroundWindow(IntPtr hWnd); -"@ - } - - if (-not ("WinAPI.ForegroundWindow" -as [type])) - { - Add-Type @Signature - } - Get-Process | Where-Object -FilterScript {(($_.ProcessName -eq "powershell") -or ($_.ProcessName -eq "WindowsTerminal")) -and ($_.MainWindowTitle -match "Sophia Script for Windows 11")} | ForEach-Object -Process { # Show window, if minimized [WinAPI.ForegroundWindow]::ShowWindowAsync($_.MainWindowHandle, 10) @@ -11401,25 +11431,6 @@ function UninstallUWPApps Add-Type -AssemblyName System.Windows.Forms - $Signature = @{ - Namespace = "WinAPI" - Name = "ForegroundWindow" - Language = "CSharp" - MemberDefinition = @" -[DllImport("user32.dll")] -public static extern bool ShowWindowAsync(IntPtr hWnd, int nCmdShow); - -[DllImport("user32.dll")] -[return: MarshalAs(UnmanagedType.Bool)] -public static extern bool SetForegroundWindow(IntPtr hWnd); -"@ - } - - if (-not ("WinAPI.ForegroundWindow" -as [type])) - { - Add-Type @Signature - } - Get-Process | Where-Object -FilterScript {(($_.ProcessName -eq "powershell") -or ($_.ProcessName -eq "WindowsTerminal")) -and ($_.MainWindowTitle -match "Sophia Script for Windows 11")} | ForEach-Object -Process { # Show window, if minimized [WinAPI.ForegroundWindow]::ShowWindowAsync($_.MainWindowHandle, 10) @@ -11740,25 +11751,6 @@ function RestoreUWPApps Add-Type -AssemblyName System.Windows.Forms - $Signature = @{ - Namespace = "WinAPI" - Name = "ForegroundWindow" - Language = "CSharp" - MemberDefinition = @" -[DllImport("user32.dll")] -public static extern bool ShowWindowAsync(IntPtr hWnd, int nCmdShow); - -[DllImport("user32.dll")] -[return: MarshalAs(UnmanagedType.Bool)] -public static extern bool SetForegroundWindow(IntPtr hWnd); -"@ - } - - if (-not ("WinAPI.ForegroundWindow" -as [type])) - { - Add-Type @Signature - } - Get-Process | Where-Object -FilterScript {(($_.ProcessName -eq "powershell") -or ($_.ProcessName -eq "WindowsTerminal")) -and ($_.MainWindowTitle -match "Sophia Script for Windows 11")} | ForEach-Object -Process { # Show window, if minimized [WinAPI.ForegroundWindow]::ShowWindowAsync($_.MainWindowHandle, 10) @@ -12373,7 +12365,7 @@ public static extern bool ShowWindowAsync(IntPtr hWnd, int nCmdShow); } `$ProcessInfo = New-Object -TypeName System.Diagnostics.ProcessStartInfo -`$ProcessInfo.FileName = """`$env:SystemRoot\System32\dism.exe""" +`$ProcessInfo.FileName = """`$env:SystemRoot\System32\Dism.exe""" `$ProcessInfo.Arguments = """/Online /English /Cleanup-Image /StartComponentCleanup /NoRestart""" `$ProcessInfo.UseShellExecute = `$true `$ProcessInfo.WindowStyle = [System.Diagnostics.ProcessWindowStyle]::Minimized @@ -13867,58 +13859,57 @@ function WindowsSandbox $Enable ) + if (-not (Get-WindowsEdition -Online | Where-Object -FilterScript {($_.Edition -eq "Professional") -or ($_.Edition -like "Enterprise*")})) + { + return + } + switch ($PSCmdlet.ParameterSetName) { "Disable" { - if (Get-WindowsEdition -Online | Where-Object -FilterScript {($_.Edition -eq "Professional") -or ($_.Edition -like "Enterprise*")}) + # Checking whether x86 virtualization is enabled in the firmware + if ((Get-CimInstance -ClassName CIM_Processor).VirtualizationFirmwareEnabled) { - # Checking whether x86 virtualization is enabled in the firmware - if ((Get-CimInstance -ClassName CIM_Processor).VirtualizationFirmwareEnabled) - { - Disable-WindowsOptionalFeature -FeatureName Containers-DisposableClientVM -Online -NoRestart - } - else + Disable-WindowsOptionalFeature -FeatureName Containers-DisposableClientVM -Online -NoRestart + } + else + { + try { - try - { - # Determining whether Hyper-V is enabled - if ((Get-CimInstance -ClassName CIM_ComputerSystem).HypervisorPresent) - { - Disable-WindowsOptionalFeature -FeatureName Containers-DisposableClientVM -Online -NoRestart - } - } - catch [System.Exception] + # Determining whether Hyper-V is enabled + if ((Get-CimInstance -ClassName CIM_ComputerSystem).HypervisorPresent) { - Write-Error -Message $Localization.EnableHardwareVT -ErrorAction SilentlyContinue + Disable-WindowsOptionalFeature -FeatureName Containers-DisposableClientVM -Online -NoRestart } } + catch [System.Exception] + { + Write-Error -Message $Localization.EnableHardwareVT -ErrorAction SilentlyContinue + } } } "Enable" { - if (Get-WindowsEdition -Online | Where-Object -FilterScript {($_.Edition -eq "Professional") -or ($_.Edition -like "Enterprise*")}) + # Checking whether x86 virtualization is enabled in the firmware + if ((Get-CimInstance -ClassName CIM_Processor).VirtualizationFirmwareEnabled) { - # Checking whether x86 virtualization is enabled in the firmware - if ((Get-CimInstance -ClassName CIM_Processor).VirtualizationFirmwareEnabled) - { - Enable-WindowsOptionalFeature -FeatureName Containers-DisposableClientVM -All -Online -NoRestart - } - else + Enable-WindowsOptionalFeature -FeatureName Containers-DisposableClientVM -All -Online -NoRestart + } + else + { + try { - try - { - # Determining whether Hyper-V is enabled - if ((Get-CimInstance -ClassName CIM_ComputerSystem).HypervisorPresent) - { - Enable-WindowsOptionalFeature -FeatureName Containers-DisposableClientVM -All -Online -NoRestart - } - } - catch [System.Exception] + # Determining whether Hyper-V is enabled + if ((Get-CimInstance -ClassName CIM_ComputerSystem).HypervisorPresent) { - Write-Error -Message $Localization.EnableHardwareVT -ErrorAction SilentlyContinue + Enable-WindowsOptionalFeature -FeatureName Containers-DisposableClientVM -All -Online -NoRestart } } + catch [System.Exception] + { + Write-Error -Message $Localization.EnableHardwareVT -ErrorAction SilentlyContinue + } } } } @@ -14381,19 +14372,21 @@ function CastToDeviceContext $Show ) + Remove-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked" -Name "{7AD84985-87B4-4a16-BE58-8B72A5B390F7}" -Force -ErrorAction Ignore + switch ($PSCmdlet.ParameterSetName) { "Hide" { - if (-not (Test-Path -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked")) + if (-not (Test-Path -Path "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked")) { - New-Item -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked" -Force + New-Item -Path "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked" -Force } - New-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked" -Name "{7AD84985-87B4-4a16-BE58-8B72A5B390F7}" -PropertyType String -Value "Play to menu" -Force + New-ItemProperty -Path "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked" -Name "{7AD84985-87B4-4a16-BE58-8B72A5B390F7}" -PropertyType String -Value "" -Force } "Show" { - Remove-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked" -Name "{7AD84985-87B4-4a16-BE58-8B72A5B390F7}" -Force -ErrorAction Ignore + Remove-ItemProperty -Path "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked" -Name "{7AD84985-87B4-4a16-BE58-8B72A5B390F7}" -Force -ErrorAction Ignore } } } @@ -14491,22 +14484,26 @@ function EditWithClipchampContext $Show ) - if (Get-AppxPackage -Name Clipchamp.Clipchamp) + if (-not (Get-AppxPackage -Name Clipchamp.Clipchamp)) { - switch ($PSCmdlet.ParameterSetName) + return + } + + Remove-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked" -Name "{8AB635F8-9A67-4698-AB99-784AD929F3B4}" -Force -ErrorAction Ignore + + switch ($PSCmdlet.ParameterSetName) + { + "Hide" { - "Hide" - { - if (-not (Test-Path -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked")) - { - New-Item -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked" -Force - } - New-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked" -Name "{8AB635F8-9A67-4698-AB99-784AD929F3B4}" -PropertyType String -Value "Play to menu" -Force - } - "Show" + if (-not (Test-Path -Path "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked")) { - Remove-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked" -Name "{8AB635F8-9A67-4698-AB99-784AD929F3B4}" -Force -ErrorAction Ignore + New-Item -Path "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked" -Force } + New-ItemProperty -Path "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked" -Name "{8AB635F8-9A67-4698-AB99-784AD929F3B4}" -PropertyType String -Value "" -Force + } + "Show" + { + Remove-ItemProperty -Path "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked" -Name "{8AB635F8-9A67-4698-AB99-784AD929F3B4}" -Force -ErrorAction Ignore } } } @@ -14869,22 +14866,24 @@ function OpenWindowsTerminalContext $Hide ) - if (Get-AppxPackage -Name Microsoft.WindowsTerminal) + if (-not (Get-AppxPackage -Name Microsoft.WindowsTerminal)) { - switch ($PSCmdlet.ParameterSetName) + return + } + + switch ($PSCmdlet.ParameterSetName) + { + "Show" { - "Show" - { - Remove-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked" -Name "{9F156763-7844-4DC4-B2B1-901F640F5155}" -Force -ErrorAction Ignore - } - "Hide" + Remove-ItemProperty -Path "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked" -Name "{9F156763-7844-4DC4-B2B1-901F640F5155}" -Force -ErrorAction Ignore + } + "Hide" + { + if (-not (Test-Path -Path "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked")) { - if (-not (Test-Path -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked")) - { - New-Item -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked" -Force - } - New-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked" -Name "{9F156763-7844-4DC4-B2B1-901F640F5155}" -PropertyType String -Value "WindowsTerminal" -Force + New-Item -Path "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked" -Force } + New-ItemProperty -Path "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked" -Name "{9F156763-7844-4DC4-B2B1-901F640F5155}" -PropertyType String -Value "" -Force } } } @@ -14927,68 +14926,65 @@ function OpenWindowsTerminalAdminContext $Disable ) - # Check whether it is not blocked by policy - $BlockGUID = (Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked" -Name "{9F156763-7844-4DC4-B2B1-901F640F5155}" -ErrorAction Ignore) - # Check whether the package installed - $TerminalInstalled = (Get-AppxPackage -Name Microsoft.WindowsTerminal) - # Check whether Windows Terminal version is greater or equal than 1.11 - $TerminalInstalledVersion = ([System.Version](Get-AppxPackage -Name Microsoft.WindowsTerminal).Version -ge [System.Version]"1.11") - if ((-not $BlockGUID) -and $TerminalInstalled -and $TerminalInstalledVersion) + if (-not (Get-AppxPackage -Name Microsoft.WindowsTerminal)) { - if (-not (Test-Path -Path "$env:LOCALAPPDATA\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState\settings.json")) - { - Start-Process -FilePath wt -PassThru - Start-Sleep -Seconds 2 - Stop-Process -Name WindowsTerminal -Force -PassThru - } + return + } - try - { - Get-Content -Path "$env:LOCALAPPDATA\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState\settings.json" -Raw | Test-Json -ErrorAction Stop - } - catch [System.Exception] - { - Write-Error -Message ($Global:Error.Exception.Message | Select-Object -First 1) -ErrorAction SilentlyContinue + if (-not (Test-Path -Path "$env:LOCALAPPDATA\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState\settings.json")) + { + Start-Process -FilePath wt -PassThru + Start-Sleep -Seconds 2 + Stop-Process -Name WindowsTerminal -Force -PassThru + } - Invoke-Item -Path "$env:LOCALAPPDATA\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState" + try + { + $Terminal = Get-Content -Path "$env:LOCALAPPDATA\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState\settings.json" -Encoding UTF8 -Force | ConvertFrom-Json + } + catch [System.ArgumentException] + { + Write-Error -Message ($Global:Error.Exception.Message | Select-Object -First 1) -ErrorAction SilentlyContinue - Write-Information -MessageData "" -InformationAction Continue - Write-Verbose -Message $Localization.Skipped -Verbose + Invoke-Item -Path "$env:LOCALAPPDATA\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState" - return - } + Write-Information -MessageData "" -InformationAction Continue + Write-Verbose -Message $Localization.Skipped -Verbose - $Terminal = Get-Content -Path "$env:LOCALAPPDATA\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState\settings.json" -Encoding utf8 -Force | ConvertFrom-Json + return + } - switch ($PSCmdlet.ParameterSetName) + switch ($PSCmdlet.ParameterSetName) + { + "Enable" { - "Enable" + Remove-ItemProperty -Path "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked" -Name "{9F156763-7844-4DC4-B2B1-901F640F5155}" -ErrorAction Ignore + Remove-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked" -Name "{9F156763-7844-4DC4-B2B1-901F640F5155}" -ErrorAction Ignore + + if ($Terminal.profiles.defaults.elevate) { - if ($Terminal.profiles.defaults.elevate) - { - $Terminal.profiles.defaults.elevate = $true - } - else - { - $Terminal.profiles.defaults | Add-Member -MemberType NoteProperty -Name elevate -Value $true -Force - } + $Terminal.profiles.defaults.elevate = $true } - "Disable" + else { - if ($Terminal.profiles.defaults.elevate) - { - $Terminal.profiles.defaults.elevate = $false - } - else - { - $Terminal.profiles.defaults | Add-Member -MemberType NoteProperty -Name elevate -Value $false -Force - } + $Terminal.profiles.defaults | Add-Member -MemberType NoteProperty -Name elevate -Value $true -Force + } + } + "Disable" + { + if ($Terminal.profiles.defaults.elevate) + { + $Terminal.profiles.defaults.elevate = $false + } + else + { + $Terminal.profiles.defaults | Add-Member -MemberType NoteProperty -Name elevate -Value $false -Force } } - - # Save in UTF-8 with BOM despite JSON must not has the BOM: https://datatracker.ietf.org/doc/html/rfc8259#section-8.1. Unless Terminal profile names which contains non-Latin characters will have "?" instead of titles - ConvertTo-Json -InputObject $Terminal -Depth 4 | Set-Content -Path "$env:LOCALAPPDATA\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState\settings.json" -Encoding utf8 -Force } + + # Save in UTF-8 with BOM despite JSON must not has the BOM: https://datatracker.ietf.org/doc/html/rfc8259#section-8.1. Unless Terminal profile names which contains non-Latin characters will have "?" instead of titles + ConvertTo-Json -InputObject $Terminal -Depth 4 | Set-Content -Path "$env:LOCALAPPDATA\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState\settings.json" -Encoding UTF8 -Force } <# diff --git a/src/Sophia_Script_for_Windows_11_PowerShell_7/Sophia.ps1 b/src/Sophia_Script_for_Windows_11_PowerShell_7/Sophia.ps1 index bae093f7..d8010230 100644 --- a/src/Sophia_Script_for_Windows_11_PowerShell_7/Sophia.ps1 +++ b/src/Sophia_Script_for_Windows_11_PowerShell_7/Sophia.ps1 @@ -2,8 +2,8 @@ .SYNOPSIS Default preset file for "Sophia Script for Windows 11 (PowerShell 7)" - Version: v6.6.0 - Date: 02.02.2024 + Version: v6.6.1 + Date: 03.03.2024 Copyright (c) 2014—2024 farag Copyright (c) 2019—2024 farag & Inestic @@ -69,7 +69,7 @@ param Clear-Host -$Host.UI.RawUI.WindowTitle = "Sophia Script for Windows 11 v6.6.0 (PowerShell 7) | Made with $([System.Char]::ConvertFromUtf32(0x1F497)) of Windows | $([System.Char]0x00A9) farag & Inestic, 2014$([System.Char]0x2013)2024" +$Host.UI.RawUI.WindowTitle = "Sophia Script for Windows 11 v6.6.1 (PowerShell 7) | Made with $([System.Char]::ConvertFromUtf32(0x1F497)) of Windows | $([System.Char]0x00A9) farag & Inestic, 2014$([System.Char]0x2013)2024" Remove-Module -Name Sophia -Force -ErrorAction Ignore @@ -990,8 +990,8 @@ DefaultTerminalApp -WindowsTerminal InstallVCRedist <# - Install the latest .NET Desktop Runtime 6, 7 (x86/x64) - Установить последнюю версию .NET Desktop Runtime 6, 7 (x86/x64) + Install the latest .NET Desktop Runtime 6, 7, 8 (x86/x64) + Установить последнюю версию .NET Desktop Runtime 6, 7, 8 (x86/x64) https://dotnet.microsoft.com/en-us/download/dotnet #>