︿
Top

2020年12月25日 星期五

How to set network profile to PRIVATE after windows server restart


需求


因為開發測試需求, 在本機用 Virtual Box 安裝一個 VM, 內含 Windows Server 2019 及 Oracle 資料庫, 且只啟用 HostOnly 的網卡.

茲將整個設定過程留下記錄, 以備參考.




STEP 1


為了能夠存取 VM 上的 Oracle 資料庫, 所以如同 [附錄1] 的設定, 開放了 port 1521 給網域及私人 network profile 存取.



STEP 2


完成上述設定, 本機還是連不上, 因為 Windows 預設是 公用網路 PUBLIC, 所以找到了 參考文件1, 利用 PowerShell 作查詢及設定.

  • 查詢: Get-NetConnectionProfile
        Name             : 無法辨識的網路
        InterfaceAlias   : 04-HostOnly
        InterfaceIndex   : 4
        NetworkCategory  : Public
        IPv4Connectivity : NoTraffic
        IPv6Connectivity : NoTraffic
                                 
  • 設定: Set-NetConnectionProfile -InterfaceIndex 4 -NetworkCategory Private

本機終於可以連上 Oracle VM 了.


STEP 3


將 VM 關機後重開, 發現又連不上了, 利用前述查詢指令, 發現又被設回 Public ...

  • 查詢: Get-NetConnectionProfile
        Name             : 無法辨識的網路
        InterfaceAlias   : 04-HostOnly
        InterfaceIndex   : 4
        NetworkCategory  : Public
        IPv4Connectivity : NoTraffic
        IPv6Connectivity : NoTraffic
                                 

找到了 參考文件2, 看來筆者並不孤單, 也有人有同樣問題, 但找到的作法似乎不可行 (手工改註冊機碼 or 本機安全原則), 但這篇討論區, 我發現有人提到 工作排程器, 在系統啟動時, 去執行 Set-NetConnectionProfile 指令.

In task scheduler I created task which runs at system startup. This task runs powershell script which contains "Set-NetConnectionProfile -InterfaceAlias Conn1 -NetworkCategory Private".


STEP 4


但想了一下, 若不採用工作排程器, 是否可以用 本機群組原則編輯器 (gpedit.msc) 進行設定, 讓 VM 電腦開機時, 直接執行那段 PowerShell.

找到了 參考文件3, 將整個操作過程, 截圖於 [附錄2] [附錄3] .


結論


雖然整個過程, 有點複雜, 但終於完成整個設定, 且達成需求.


[附錄1]


如何開啟本機的 port 1521 給 網域及私人 的 network profile



[附錄2]


如何建立 PowerShell 指令檔


執行 PowerShell ISE

將以下指令存入 D:\OnComputerStartup\SetNetworkToPrivate.ps1

    Set-NetConnectionProfile  -InterfaceIndex 4 -NetworkCategory Private
            

[附錄3]


如何將 [附錄2] 的 PowerShell 指令檔, 設定於開機時執行.


執行 gpedit.msc

沒有留言:

張貼留言