分享我的Windows Server 2022 裝機必備軟體與安裝筆記

文章推薦指數: 80 %
投票人數:10人

由於Windows Server 2022 已於2021/9/1 正式推出,這篇文章我打算介紹我安裝一 ... Standard Time" # 關閉開機自動啟動伺服器管理員(Server Manager) ... ←使用AzureCLI快速建立AzureWebApp測試網站、資料庫與儲存體帳戶 批次更換Microsoft365授權的PowerShell腳本範例→ 由於WindowsServer2022已於2021/9/1正式推出,這篇文章我打算介紹我安裝一台測試機的所有過程,方便日後裝機時參考。

基本作業環境設定 以下我直接列出完整PowerShell命令,請以系統管理員身份執行: #更改主機名稱並重開機(假設要更名為WILL2022SRV) #Rename-Computer-NewNameWILL2022SRV-LocalCredentialAdministrator-PassThru #Restart-Computer #設定時區為台北標準時間(TaipeiStandardTime) Set-TimeZone-Name"TaipeiStandardTime" #關閉開機自動啟動伺服器管理員(ServerManager) Get-ScheduledTask-TaskNameServerManager|Disable-ScheduledTask-Verbose #調整ExecutionPolicy等級到RemoteSigned Set-ExecutionPolicyRemoteSigned-Force #建立$PROFILE所需的資料夾 [System.IO.Directory]::CreateDirectory([System.IO.Path]::GetDirectoryName($PROFILE)) #設定PowerShell的ProgressPreference,TLS1.2與PSReadLine快速鍵 #https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_preference_variables#progresspreference @' #修正PowerShell關閉進度列提示 $ProgressPreference='SilentlyContinue' #使用TLS1.2進行網路安全連線 [Net.ServicePointManager]::SecurityProtocol=[Net.SecurityProtocolType]::Tls12 #設定按下Ctrl+d可以退出PowerShell執行環境 Set-PSReadlineKeyHandler-Chordctrl+d-FunctionViExit #設定按下Ctrl+w可以刪除一個單字 Set-PSReadlineKeyHandler-Chordctrl+w-FunctionBackwardDeleteWord #設定按下Ctrl+e可以移動游標到最後面(End) Set-PSReadlineKeyHandler-Chordctrl+e-FunctionEndOfLine #設定按下Ctrl+a可以移動游標到最前面(Begin) Set-PSReadlineKeyHandler-Chordctrl+a-FunctionBeginningOfLine #移除內建的curl與wget命令別名 If(Test-PathAlias:curl){Remove-ItemAlias:curl} If(Test-PathAlias:wget){Remove-ItemAlias:wget} '@|Out-File$PROFILE #安裝Chocolatey套件管理器(https://chocolatey.org/install) Set-ExecutionPolicyBypass-ScopeProcess-Force;[System.Net.ServicePointManager]::SecurityProtocol=[System.Net.ServicePointManager]::SecurityProtocol-bor3072;iex((New-ObjectSystem.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1')) 變更系統語言設定並設定zh-TW為顯示語言 調整語言設定 請想想Windows難用的中文輸入法,將預設語言設定在「英文」才能讓你順利的按出Ctrl-.,Ctrl-,與Ctrl-Space等常用快速鍵! $UserLanguageList=New-WinUserLanguageList-Language"en-US" $UserLanguageList.Add("zh-TW") Set-WinUserLanguageList-LanguageList$UserLanguageList-Force Set-WinUILanguageOverride-Languagezh-TW 手動下載繁體中文的輸入法 由於我WindowsServer2022是安裝英文版,如果要加裝繁體中文,除了上一步的調整語言設定外,還要額外到控制台手動點擊繁體中文的Typings(輸入法)的「下載」按鈕,安裝之後才可以使用注音輸入法! 安裝常用應用程式 WindowsServer2022已經預設內建InternetExplorer11與MicrosoftEdge(v92)瀏覽器,所以可以不用額外安裝GoogleChrome了! 安裝常用工具 底下這段chocoinstall命令將會自動安裝CascadiaCode字型、WindowsTerminal、7-Zip、Notepad2、Notepad++、GitforWindows、TortoiseGit、WinMerge、PowerShellCore、Clink、GNUutilitiesforWin32、WindowsSysinternals、GNUWget、cURL、jq、VisualStudioCode、Node.js、Everything,這幾套都是我覺得超級好用的必備裝機軟體! chocoinstallcascadiafontsmicrosoft-windows-terminal7zipnotepad2notepadplusplusgittortoisegitwinmergepowershell-coreclinkunxutilssysinternalswgetcurljqvscodenodejs-ltseverything-y 調整WindowsTerminal預設設定 底下我只列出非預設的設定值: { "copyOnSelect":true, "multiLinePasteWarning":false, "profiles": { "defaults": { "fontFace":"CascadiaCodePL" } } } 調整PowerShell命令提示格式 #設定oh-my-posh與posh-git命令列執行環境 Install-Moduleposh-git-ScopeCurrentUser-Confirm:$false-Force Install-Moduleoh-my-posh-ScopeCurrentUser-Confirm:$false-Force @' Import-Moduleposh-git Import-Moduleoh-my-posh Set-PoshPrompt-Themespaceship '@|Out-File-Append$PROFILE 調整Git版控設定 #直接設定Git預設user.name與user.email gitconfig--globaluser.email"[email protected]" gitconfig--globaluser.name"YourName" #設定預設GitAlias gitconfig--globalalias.cicommit gitconfig--globalalias.cm"commit--amend-CHEAD" gitconfig--globalalias.cocheckout gitconfig--globalalias.ststatus gitconfig--globalalias.sts"status-s" gitconfig--globalalias.brbranch gitconfig--globalalias.reremote gitconfig--globalalias.didiff gitconfig--globalalias.type"cat-file-t" gitconfig--globalalias.dump"cat-file-p" gitconfig--globalalias.lo"log--oneline" gitconfig--globalalias.ls"log--show-signature" gitconfig--globalalias.ll"log--pretty=format:'%h%ad|%s%d[%Cgreen%an%Creset]'--graph--date=short" gitconfig--globalalias.lg"log--graph--pretty=format:'%Cred%h%Creset%ad|%C(yellow)%d%Creset%s%Cgreen(%cr)%Creset[%Cgreen%an%Creset]'--abbrev-commit--date=short" gitconfig--globalalias.alias"config--get-regexp^alias\." gitconfig--globalalias.ignore"!gi(){curl-sLhttps://www.gitignore.io/api/\$@;};gi" gitconfig--globalalias.iac"!giac(){gitinit&&gitadd.&&gitcommit-m'Initialcommit';};giac" #設定git預設編輯器為notepad gitconfig--globalcore.editor"notepad" #設定git預設編輯器為VisualStudioCode #gitconfig--globalcore.editor"code--wait" #設定gittlog開啟TortoiseShowlog視窗 gitconfig--globalalias.tlog"!start'C:\PROGRA~1\TortoiseGit\bin\TortoiseGitProc.exe'/command:log/path:." #設定gitstatus若有中文不會顯示亂碼 gitconfig--globalcore.quotepathfalse #設定gitlog若有中文不會顯示亂碼 SETXLC_ALLC.UTF-8/M 安裝WSL2(WindowsSubsystemforLinux)執行環境 WindowsServer2022已經跟WSL2已經無縫整合,安裝起來非常的方便! 查詢有哪些WSLimage可以用 wsl--list--online Thefollowingisalistofvaliddistributionsthatcanbeinstalled. Thedefaultdistributionisdenotedby'*'. Installusing'wsl--install-d'. NAMEFRIENDLYNAME *UbuntuUbuntu DebianDebianGNU/Linux kali-linuxKaliLinuxRolling openSUSE-42openSUSELeap42 SLES-12SUSELinuxEnterpriseServerv12 Ubuntu-16.04Ubuntu16.04LTS Ubuntu-18.04Ubuntu18.04LTS Ubuntu-20.04Ubuntu20.04LTS 安裝Ubuntu20.04LTS版本 wsl--install-dUbuntu-20.04 重開機 Restart-Computer-Force 安裝IIS+.NETFramework+ASP.NET執行環境 安裝IIS服務、管理工具與.NETFramework執行環境 Install-WindowsFeatureWeb-Server,Web-Asp-Net45,NET-Framework-Features-IncludeManagementTools 安裝URLRewrite模組 Invoke-WebRequest-Urihttps://download.microsoft.com/download/1/2/8/128E2E22-C1B9-44A4-BE2A-5859ED1D4592/rewrite_amd64_en-US.msi-OutFile"$env:USERPROFILE\Downloads\rewrite_amd64_en-US.msi" msiexec.exe/i"$env:USERPROFILE\Downloads\rewrite_amd64_en-US.msi"/qn 預設匯入IISAdministration與WebAdministration模組 @' Import-ModuleIISAdministration Import-ModuleWebAdministration '@|Out-File-Append$PROFILE 安裝ASP.NETCore5.0執行環境 安裝.NETSDK #Installthe.NETCore5.0SDK Invoke-WebRequesthttps://download.visualstudio.microsoft.com/download/pr/c1bfbb13-ad09-459c-99aa-8971582af86e/61553270dd9348d7ba29bacfbb4da7bd/dotnet-sdk-5.0.400-win-x64.exe-outfile$env:temp\dotnet-sdk-5.0.400-win-x64.exe Start-Process$env:temp\dotnet-sdk-5.0.400-win-x64.exe-ArgumentList'/quiet'-Wait 安裝IIS的ASP.NETCoreModule(ANCM) #Installthe.NETCore5.0WindowsServerHostingbundle Invoke-WebRequesthttps://download.visualstudio.microsoft.com/download/pr/a0f49856-eec9-4962-8d81-b09af6be9435/1d5fc0083b7f7e10ebed181329ca88ae/dotnet-hosting-5.0.9-win.exe-outfile$env:temp\dotnet-hosting-5.0.9-win.exe Start-Process$env:temp\dotnet-hosting-5.0.9-win.exe-ArgumentList'/quiet'-Wait #RestartthewebserversothatsystemPATHupdatestakeeffect netstopwas/y netstartw3svc 查看.NET安裝版本 dotnet--info 測試ASP.NETCore執行 $projectName="api50" New-Item-Path$projectName-ItemTypeDirectory cd$projectName dotnetnewglobaljson--sdk-version5.0.400 dotnetnewwebapi dotnetpublish-cRelease-oC:\Inetpub\TestSite $folder=Get-Item-Path"C:\Inetpub\TestSite" Import-ModuleWebAdministration #$appPool=New-WebAppPool-NameTestSite #$appPool.managedRuntimeVersion="" #$appPool|Set-Item New-WebAppPool-NameTestSite $appPool=Get-ItemIIS:\AppPools\TestSite $appPool.managedPipelineMode="Integrated" $appPool.managedRuntimeVersion="" $appPool|set-item New-Website-Name"TestSite"-HostHeader"testsite"-Port80-PhysicalPath$folder-ApplicationPool"TestSite" New-WebBinding-Name"TestSite"-HostHeader"localhost"-Port80-Protocol"http" $result=curl.exe-shttp://localhost/WeatherForecast if($result-like"*temperatureC*"){ Write-Host"TestSiteconnnectionsuccessful!" }else{ Write-Warning"TestSiteconnectionfailed!!!"; } Remove-WebSite-NameTestSite Remove-WebAppPool-NameTestSite Start-Sleep-Seconds1 Remove-Item$folder-Recurse-Force-Confirm:$false cd.. Remove-Item-Path$projectName-Recurse-Force-Confirm:$false 安裝Java執行環境 安裝AdoptOpenJDK11、Zulu8與Maven chocoinstalladoptopenjdk11zulu8maven-y 設定JAVA_HOME環境變數 $env:JAVA_HOME='C:\ProgramFiles\Zulu\zulu-8' [System.Environment]::SetEnvironmentVariable('JAVA_HOME','C:\ProgramFiles\Zulu\zulu-8',[System.EnvironmentVariableTarget]::Machine) 安裝ApacheTomcat服務 通常SpringBoot在用Maven發行JAR檔的時候,已經內建了Tomcat,所以不太需要特別安裝Tomcat服務,如果要手動安裝,可以使用以下命令安裝: #安裝ApacheTomcat9 chocoinstalltomcat-y #啟動ApacheTomcat9服務 Start-Service-NameTomcat9 #設定Tomcat為開機自動啟動 Set-Service-NameTomcat9-StartupTypeAutomatic 安裝Angular開發環境(VSCode) 安裝AngularCLI12工具 npmi-g@angular/cli@12 關閉分析服務 nganalyticsoff 安裝VisualStudioCode開發環境 安裝常用擴充套件 #安裝Java與SpringBoot相關擴充套件 code--install-extensiondoggy8088.git-extension-pack #安裝EssentialSpringBootSnippets擴充套件 code--install-extensiondoggy8088.spring-boot-snippets #安裝AngularExtensionPack擴充套件 code--install-extensiondoggy8088.angular-extension-pack #安裝MarkdownExtensionPack擴充套件 code--install-extensiondoggy8088.markdown-extension-pack #安裝.NETCoreExtensionPack擴充套件 code--install-extensiondoggy8088.netcore-extension-pack #安裝JavaScriptDebugger擴充套件(取代DebuggerforChrome套件) code--install-extensionms-vscode.js-debug #安裝Prettier-Codeformatter擴充套件 code--install-extensionesbenp.prettier-vscode #安裝.NETInteractiveNotebooks擴充套件 code--install-extensionms-dotnettools.dotnet-interactive-vscode #安裝VSCode繁體中文語言包 #code--install-extensionMS-CEINTL.vscode-language-pack-zh-hant 調整VSCode使用者設定檔 "git.autofetch":true, "editor.foldingImportsByDefault":true, "java.home":"C:\\ProgramFiles\\AdoptOpenJDK\\jdk-11.0.11.9-hotspot", "java.configuration.runtimes":[ { "name":"JavaSE-1.8", "path":"C:\\ProgramFiles\\Zulu\\zulu-8" }, { "name":"JavaSE-11", "path":"C:\\ProgramFiles\\AdoptOpenJDK\\jdk-11.0.11.9-hotspot", "sources":"C:\\ProgramFiles\\AdoptOpenJDK\\jdk-11.0.11.9-hotspot\\src.zip", "javadoc":"https://docs.oracle.com/en/java/javase/11/docs/api", "default":true } ], "java.debug.settings.hotCodeReplace":"auto", "java.saveActions.organizeImports":true, 安裝Hyper-V相關服務 安裝相關服務與管理工具 Add-WindowsFeatureHyper-V,Hyper-V-Tools,Hyper-V-PowerShell-IncludeManagementTools 重開機 Restart-Computer-Force 安裝WindowsContainers相關服務 注意:安裝WindowsContainers之前必須先安裝好Hyper-V服務。

安裝DockerMsftProvider的過程會提示你要不要安裝NuGetProvider,這裡必須手動按下Y之後繼續。

Install-Module-NameDockerMsftProvider-RepositoryPSGallery-Force 使用PackageManagementPowerShell模組安裝最新版Docker。

Install-Package-Namedocker-ProviderNameDockerMsftProvider-Force 重開機 Restart-Computer-Force 查看版本資訊 dockerversion ❯dockerversion Client:MirantisContainerRuntime Version:20.10.6 APIversion:1.41 Goversion:go1.13.15 Gitcommit:b3766ff Built:06/29/202117:14:16 OS/Arch:windows/amd64 Context:default Experimental:true Server:MirantisContainerRuntime Engine: Version:20.10.6 APIversion:1.41(minimumversion1.24) Goversion:go1.13.15 Gitcommit:a3dc69e6b9 Built:06/29/202117:12:49 OS/Arch:windows/amd64 Experimental:false 日後升級的命令請參考Getstarted:PrepWindowsforcontainers文件說明。

安裝WebDeploymentTool3.6遠端代理程式 安裝IIS的ManagementService管理服務(RemoteAdministrationforIISManager) #安裝管理服務 Install-WindowsFeatureWeb-Mgmt-Service #啟用遠端連線 Set-Itemproperty-path'HKLM:\Software\Microsoft\WebManagement\Server'-Name'EnableRemoteManagement'-value'1' #設定自動啟動服務 Set-Service-NameWMSvc-StartupTypeAutomatic Start-Service-NameWMSvc 安裝WebDeploymentTool3.6遠端代理程式 English(x64) Invoke-WebRequesthttps://download.microsoft.com/download/0/1/D/01DC28EA-638C-4A22-A57B-4CEF97755C6C/WebDeploy_amd64_en-US.msi-outfile$env:temp\WebDeploy_amd64_en-US.msi Start-Process$env:temp\WebDeploy_amd64_en-US.msi-ArgumentList'ADDLOCAL=ALL/qn/norestartLicenseAccepted="0"'-Wait Chinese(Traditional)(x64) Invoke-WebRequesthttps://download.microsoft.com/download/5/4/4/5441215F-78DB-4686-AD05-3FAD23C406D1/WebDeploy_amd64_zh-TW.msi-outfile$env:temp\WebDeploy_amd64_zh-TW.msi Start-Process$env:temp\WebDeploy_amd64_zh-TW.msi-ArgumentList'ADDLOCAL=ALL/qn/norestartLicenseAccepted="0"'-Wait 安裝WindowsAdminCenter(WAC)管理服務 微軟正在嘗試用WindowsAdminCenter(WAC)取代伺服器管理員(ServerManager),所以當你打開伺服器管理員的時候,預設就會提醒你要不要安裝WindowsAdminCenter(WAC)! 你可以直接到TryWindowsAdminCenteronMicrosoftEvaluationCenter下載安裝檔(WindowsAdminCenter2103.2.msi),基本上很順利就可以裝好,預設網址為: https://HOSTNAME/ 注意:你不用在每台電腦安裝WAC,也不一定要安裝在WindowsServer2022上,任何一台Windows10、WindowsServer或WindowsServerCore都可以安裝WAC。

被管理的作業系統只要額外安裝WMF5.1版或更新版本,基本上就可以被WAC管理。

詳細使用方式請參見WindowsAdminCenter官方文件。

相關連結 HowtomakeaprettypromptinWindowsTerminalwithPowerline,NerdFonts,CascadiaCode,WSL,andoh-my-posh-ScottHanselman'sBlog ReleaseCascadiaCode·microsoft/cascadia-code 如何在WindowsContainers的aspnet容器新增額外的IIS角色服務 WebDeploymentTool3.6 WebDeploy3.6:TheOfficialMicrosoftIISSite RemoteAdministrationforIISManager ConfiguringaWebServerforWebDeployPublishing(RemoteAgent) ConfiguringaWebServerforWebDeployPublishing(WebDeployHandler) WindowsContainer Windows和容器 安裝與升級Docker服務 相關文章 WindowsContainer版本相容性與多重架構容器映像介紹 自從Windows核心版本v14393開始,也就是WindowsServer2016LTSC與Windows10年度更新版,正式開始支援Windows容器,這意謂著企業可以 徹底釐清Windows10與WindowsServer的版本編號 這些年一直對Windows10與WindowsServer的版本編號困擾著,經常會聽到什麼Windows10周年更新、Windows10創作者更新之類的名稱,完全摸不著頭緒,你 如何在WindowsServer2022使用containerd執行WindowsContainers 其實WindowsContainers都是以WindowsServer為基礎的baseimage來運行的,但從2021年9月微軟發佈了UpdatestotheWind 工商服務(廣告) 每月文章 2022 四月(2) 三月(9) 二月(9) 一月(15) 2021 十二月(12) 十一月(5) 十月(6) 九月(13) 八月(16) 七月(13) 六月(13) 五月(7) 三月(1) 二月(1) 2020 十二月(3) 十一月(1) 十月(3) 九月(7) 八月(7) 七月(9) 六月(2) 五月(5) 三月(4) 二月(5) 一月(4) 2019 十二月(7) 十一月(2) 十月(5) 九月(1) 六月(3) 四月(4) 三月(3) 二月(7) 一月(12) 2018 十二月(3) 十一月(1) 十月(4) 九月(12) 八月(4) 六月(2) 五月(3) 四月(6) 二月(1) 一月(2) 2017 十二月(2) 十月(3) 九月(4) 七月(1) 六月(1) 五月(1) 四月(1) 二月(3) 一月(4) 2016 十二月(4) 十一月(1) 十月(1) 九月(4) 八月(3) 七月(2) 五月(1) 四月(1) 三月(3) 二月(3) 一月(2) 2015 十二月(6) 十一月(4) 十月(3) 九月(5) 八月(1) 七月(4) 六月(2) 五月(3) 四月(1) 三月(1) 二月(3) 一月(2) 2014 十二月(3) 十一月(2) 十月(3) 九月(3) 八月(1) 七月(4) 六月(2) 五月(4) 四月(5) 三月(4) 二月(1) 一月(7) 2013 十二月(1) 十一月(8) 十月(1) 九月(2) 八月(4) 七月(5) 六月(8) 五月(9) 四月(8) 三月(10) 二月(9) 一月(10) 2012 十二月(4) 十一月(6) 十月(6) 九月(4) 八月(5) 七月(10) 六月(5) 五月(6) 四月(10) 三月(12) 二月(1) 一月(6) 2011 十二月(3) 十一月(7) 十月(8) 九月(14) 八月(15) 七月(10) 六月(10) 五月(11) 四月(11) 三月(13) 二月(14) 一月(13) 2010 十二月(13) 十一月(10) 十月(16) 九月(17) 八月(12) 七月(22) 六月(15) 五月(11) 四月(14) 三月(17) 二月(17) 一月(26) 2009 十二月(16) 十一月(18) 十月(18) 九月(23) 八月(20) 七月(26) 六月(24) 五月(21) 四月(26) 三月(30) 二月(27) 一月(26) 2008 十二月(30) 十一月(31) 十月(31) 九月(29) 八月(31) 七月(31) 六月(30) 五月(30) 四月(31) 三月(31) 二月(29) 一月(33) 2007 十二月(31) 十一月(37) 十月(13) 文章分類 .Net (217) .NETCore (55) Accessibility (3) Angular (23) AngularJS (11) ASP.NET (222) ASP.NET5 (3) ASP.NETBlazor (1) ASP.NETCore (34) ASP.NETIdentity (2) ASP.NETMVC (105) ASP.NETWebAPI (13) AzureDevOps (24) C# (124) CloudComputing (4) CSS (29) DevOps (20) Docker (23) EntityFramework (21) Git (28) Golang (2) HTML5 (8) IIS (103) Java (7) JavaScript (108) Jenkins (7) Kubernetes (9) LINQ (36) Linux (108) MicrosoftAzure (35) MySQL (15) Office (49) Office365 (28) Oracle (10) PHP (25) Scrum (1) Security (62) SQLServer (125) Subversion (35) SystemCenter (2) TFS (6) TFS2010 (10) Tips (188) UnitTesting (10) Usability (1) VBA (5) VisualBasic (5) VisualStudio (122) VisualStudio11 (2) VisualStudio2012 (10) VisualStudio2013 (4) VS2010Tips (23) Web (168) WebMatrix (8) Windows (38) Windows8 (14) WindowsAzure (18) WindowsPhone7 (14) 介紹好用工具 (221) 心得分享 (86) 多奇快訊 (7) 系統管理 (358) 前端工程研究 (18) 專案管理 (8) 團隊合作 (9) 網路管理 (18) 專業證照



請為這篇文章評分?