2018年11月20日 星期二

[IIS][ASP.NET] 拒絕訪問Temp目錄

創建BlogConfigurationSettings 的配置節處理程序時出錯: 拒絕訪問臨時目錄。以其運行XmlSerializer 的身份“IIS APPPOOL\www.cnblogs.com”沒有足夠的權限訪問臨時目錄。CodeDom 將使用此進程用於進行編譯的用戶帳戶,因此如果用戶對系統臨時目錄沒有訪問權限,則將無法編譯。使用Path.GetTempPath() API 可找到臨時目錄位置。
Access to the temp directory is denied. Identity 'IIS APPPOOL\www.cnblogs.com' under which XmlSerializer is running does not have sufficient permission to access the temp directory. CodeDom will use the user account the process is using to do the compilation, so if the user doesnt have access to system temp directory, you will not be able to compile. Use Path.GetTempPath() API to find out the temp directory location.
CS0016: 未能寫入輸出文件“c:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root\946055b8\92eead15\App_global.asax.qakaesxx.dll”--“拒絕訪問。 ”
開始以為是“C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files”文件夾權限的問題,但怎麼設置這個權限也解決不了問題。
後來在應用程序池設置中將“加載用戶配置文件”(Load User Profile)設置為true,問題就解決。


Change Remote Desktop RDP Port

Follow these steps to change the Remote Desktop server port:
  1. Open up Registry Editor by clicking on the Start Button, type in regedit and then hit Enter.
  2. In Registry Editor, navigate to HKEY_LOCAL_MACHINE, SYSTEM, CurrentControlSet, Control, Terminal Server, WinStations and RDP-Tcp. 
  3. Right click on the PortNumber dword and select Modify. 
  4. Change the base to Decimal and enter a new port between 1025 and 65535 that is not already in use.
  5. Click OK and reboot.

Is it possible to autostart a VMware virtual machine in background as a Windows service, and shut it down elegantly when Windows shuts down?

You can also use the vmrun command.
You can use a script to start a VM, for example:
vmrun -T ws start "F:\VMWare-VMs\S1.vmx"
and you add the script at Windows startup.

2018年11月14日 星期三

如何在 Windows Server 2012 設定遠端桌面連線

設定 Windows Server 2012 遠端桌面連線

1. 開啟【伺服器管理員】,切換至【本機伺服器】,選擇【遠端桌面】項目。





2. 在【遠端桌面】分類下,勾選【允許遠端連線到此電腦】。





3. 此時出現【將會啟用遠端桌面防火牆例外】警告視窗,請按【確定】。





4. 如果您要設定使用者,請按【選擇使用者】。





5. 在【遠端桌面使用者】視窗中,您可以【新增】或【移除】使用者,設定完成後按【確定】。





6. 按【確定】儲存設定。





7. 從其他電腦執行【遠端桌面連線】,輸入 Windows Server 2012 電腦的位址後,按【連線】。





8. 輸入可以進行遠端登入的使用者帳戶與密碼,完成後按【確定】。





9. 出現警告視窗,請按【】。





10. 遠端桌面登入 Windows Server 2012 電腦完成。





11. 到 Windows Server 2012 的電腦上,您會發現如下畫面。





12. 在使用者登入畫面中,可看到使用者帳戶被遠端登入。





13. 當您使用該帳戶進行登入後。





14. 您原本使用遠端桌面連線登入的電腦會被中斷連線。這是因為預設是允許一個遠端桌面服務工作,如果您有需求是允許使用者使用遠端桌面服務建立多個遠端連線,請繼續以下設定。





允許使用者使用遠端桌面服務建立多個遠端連線

1. 按【Win 視窗鍵】+【R】,出現【執行】視窗,輸入 gpedit.msc 按【確定】。





2. 此時出現【本機群組原則編輯器】,在左邊窗格切換至 電腦設定 / Windows 設定 / 遠端桌面服務 / 遠端桌面工作階段主機 / 連線,在右邊窗格找出【限制遠端桌面服務的使用者只能使用一個遠端桌面服務工作階段】,滑鼠左鍵按兩下進行編輯。





3. 勾選【已停用】,按【確定】。





4. 可重新開機或是在【命令提示字元】輸入 gpupdate /Force 更新原則。





5. 您可以從其他電腦進行遠端桌面連線,此時您會發現可允許多個使用者連線,您在【工作管理員】的【使用者】索引標籤中可觀察登入的使用者資訊。




嘗試以遠端桌面協定連到 Azure 的 Windows VM 時出現「CredSSP 加密預示修復」錯誤

最常見的案例是,用戶端已安裝 CredSSP 更新,而 加密預示修復 措施設定會不允許使用遠端桌面協定連線至未安裝 CredSSP 更新的伺服器。
如果需要替代的解決方案,請依照下列步驟執行:
  1. 在用戶端上安裝 CredSSP 更新,執行 gpedit.msc,然後在導航窗格中瀏覽至 電腦設定 > 系統管理範本系統>認證委派  
  2. 加密預示修復 變更為啟用,然後將保護層級變更為 易受攻擊
如果無法使用 gpedit.msc,則可以使用登錄進行相同的變更,如下所示:
  1. 以系統管理員身分開啟命令提示字元視窗。
  2. 輸入下列命令以加入登錄值:
    REG ADD HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters\ /v AllowEncryptionOracle /t REG_DWORD /d 

How to delegate a sub-domain to other DNS servers

To do this, you need to add NS-records for the sub-domain name pointing to the host names of the DNS servers hosting the sub-domain -  in the parent zone.

In the "DNS records" window right-click the parent zone in the left list and select "New NS-record":


In the "New NS-record" dialog, enter the sub-domain name and the host name of one of the DNS servers hosting the sub-domain:



Repeat the previous steps, so that you have an NS-record for each DNS server hosting the sub-domain:



Note that it is important that matching A-records exist for DNS server host names listed in these NS-records.
For the example above, A-records must exist for "ns1.otherdomain.com" and "ns2.otherdomain.com" - in the "otherdomain.com" zone on whatever DNS server is hosting "otherdomain.com".

If the DNS server host names are themselves sub-names of the domain name being delegated, it is necessary to include a copy of these A-records in the parent zone. These are called "glue records".
Otherwise other DNS servers will have no way to find the sub-domain's DNS servers, and therefore no way to resolve records in the sub-domain.
In the screen shot below, the highlighted A-records are such "glue records":