捐血一袋救人一命

江蘇拙政園

江蘇 拙政園

全家福

日本 和歌山城

賞楓之旅

千燈 夕照

水鄉千燈

蘆洲 微風運河

破曉時分

2019年5月15日 星期三

用 PowerShell 重新啟動網卡

最近公司的系統突然發生怪狀況,伺服器會不定時斷線,但完全相同的其他三台伺服器,卻不會發生斷線狀況!

當斷線狀況發生時,將網卡停用後,再重新啟用網卡可以讓網路回復連線,所以寫了一隻程式暫時處理

程式流程很簡單,就是會出毛病的伺服器去 ping 閘道 IP,ping 不到就表示斷線了,那就停用網卡,再啟用網卡


$IP = "192.168.123.1"

do{
    $datetime = Get-Date -UFormat "%Y/%m/%d %A %H:%M:%S"
# 去 ping 閘道 IP
    if (Test-Connection -IPAddress $IP -Count 1 -ErrorAction SilentlyContinue){
    Write-Host $datetime, " Server is Up"
}else{
    Write-Host $datetime, " Server is Down"
# 停用網路卡
        Disable-NetAdapter -name "Ethernet0" -Confirm:$false
        Sleep 5
# 啟用網路卡
        Enable-NetAdapter -name "Ethernet0" -Confirm:$false
        Sleep 5
        $datetime = Get-Date -UFormat "%Y/%m/%d %A %H:%M:%S"
        if (Test-Connection -IPAddress $IP -Count 1 -ErrorAction SilentlyContinue){
            Write-Host $datetime, " Server is Up Up Up !!!"
        }else{
            Write-Host $datetime, " Server is still Down !!!"
        }
    }
sleep 60
}while($true)

PS. 後記:因為虛擬伺服器從舊版VMware 平台轉移到新版VMware 平台之後,使用的網卡種類不對,導致網卡運作一段時間就會自動 Down 掉,更換虛擬網卡之後就正常了!

使用 PowerShell 建置 IIS FTP Server


# 要載入此模組才有 IIS 相關指令功能
Import-Module WebAdministration

# 站台名稱
$FTPSiteName = 'Your IIS FTP Site Name'
# FTP 伺服器目錄
# ex $FTPRootDir = "D:\FTPRoot"
$FTPRootDir = 'FTP Root Folder Path'
# FTP 伺服器通訊埠
$FTPPort = 21
# FTP 使用者帳號
$FTPUserName = "Your Account"
# FTP 使用者密碼
$FTPPassword = 'Your Password'
# FTP 使用者群組名稱
$FTPUserGroupName = "FTP Users"

# 建立 FTP 伺服器目錄
If(!(Test-Path $FTPRootDir)){
    new-item $FTPRootDir -itemtype directory
    Write-Host ("Create " + $FTPSiteName + " FTP Folder") -ForegroundColor Blue -BackgroundColor White
}Else{
    Write-Host ("Folder " + $FTPSiteName + " exist !") -ForegroundColor Red -BackgroundColor White
}

# 建立 FTP 站台
If((Get-Website | Where-Object { $_.physicalPath -eq $FTPRootDir } | Measure).Count -eq 0){
    New-WebFtpSite -Name $FTPSiteName -Port $FTPPort -PhysicalPath $FTPRootDir
    Write-Host ("Create " + $FTPRootDir + " Site !") -ForegroundColor Blue -BackgroundColor White
}Else{
    Write-Host ("site " + $FTPRootDir + " already exist !") -ForegroundColor Red -BackgroundColor White
}

# 建立 FTP 使用者帳號
If((([ADSI]"WinNT://$env:ComputerName/$FTPUserName,User").Path).length -eq 0){
    $ADSI = [ADSI]”WinNT://$env:ComputerName“
    $CreateUserFTPUser = $ADSI.Create("User", $FTPUserName)
    $CreateUserFTPUser.SetInfo()
    $CreateUserFTPUser.SetPassword($FTPPassword)
    $CreateUserFTPUser.Description = “FTP User“
    $CreateUserFTPUser.SetInfo()
    Write-Host "Create FTP User & Setup Default Password" -ForegroundColor Blue -BackgroundColor White
}Else{
    Write-Host ("User Name: " + $FTPUserName + " Exist") -ForegroundColor Red -BackgroundColor White
}

<# 建立 FTP 群組 #>
If((([ADSI]"WinNT://$env:ComputerName/$FTPUserGroupName,Group").Path).length -eq 0){
    $ADSI = [ADSI]"WinNT://$env:ComputerName"
    $FTPUserGroup = $ADSI.Create("Group", "$FTPUserGroupName")
    $FTPUserGroup.SetInfo()
    $FTPUserGroup.Description = "Members of this group can connect through FTP"
    $FTPUserGroup.SetInfo()
    Write-Host "Create FTP Users Group" -ForegroundColor Blue -BackgroundColor White
}Else{
    Write-Host ("Group Name: " + $FTPUserGroupName + " Exist") -ForegroundColor Red -BackgroundColor White
}

<# 把使用者帳號加入 FTP Users 群組 #>
$UserAccount = New-Object System.Security.Principal.NTAccount($FTPUserName)
$SID = $UserAccount.Translate([System.Security.Principal.SecurityIdentifier]).Value
$Group = [ADSI]"WinNT://$env:ComputerName/$FTPUserGroupName,Group"
$User = [ADSI]"WinNT://$SID"
$Group.Add($User.Path)
Write-Host "FTP User Join FTP Users Group" -ForegroundColor Blue -BackgroundColor White

<# 設定 FTP Server 為基本驗證 #>
$FTPSitePath = "IIS:\Sites\$FTPSiteName"
$BasicAuth = 'ftpServer.security.authentication.basicAuthentication.enabled'
Set-ItemProperty -Path $FTPSitePath -Name $BasicAuth -Value $True
Write-Host "Set Authentication to BASIC" -ForegroundColor Blue -BackgroundColor White

# Add an authorization read rule for FTP Users.
<# 設定 FTP Users 群組可以存取 FTP Server #>
$Param = @{
    Filter   = "/system.ftpServer/security/authorization"
    Value    = @{
        accessType  = "Allow";
        roles       = $FTPUserGroupName;
        permissions = 1;
        Users       = $FTPUserName
    }
    PSPath   = 'IIS:\'
    Location = $FTPSiteName
}
Add-WebConfiguration @param
Write-Host "Set FTP Users Group can Access FTP Server" -ForegroundColor Blue -BackgroundColor White

# Change the SSL policy from Require SSL to Allow SSL connections
$SSLPolicy = @(
    'ftpServer.security.ssl.controlChannelPolicy',
    'ftpServer.security.ssl.dataChannelPolicy'
)
Set-ItemProperty -Path $FTPSitePath -Name $SSLPolicy[0] -Value $false
Set-ItemProperty -Path $FTPSitePath -Name $SSLPolicy[1] -Value $false
Write-Host "Change the SSL policy from Require SSL to Allow SSL connections" -ForegroundColor Blue -BackgroundColor White


<# 設定 FTP Users 群組有 NTFS 權限存取 FTP 目錄 #>
$GroupAccount = New-Object System.Security.Principal.NTAccount("$FTPUserGroupName")
$AccessRule = New-Object System.Security.AccessControl.FileSystemAccessRule($GroupAccount,
    'ReadAndExecute',
    'ContainerInherit,ObjectInherit',
    'None',
    'Allow'
)
$ACL = Get-Acl -Path $FTPRootDir
$ACL.SetAccessRule($AccessRule)
$ACL | Set-Acl -Path $FTPRootDir
Write-Host "Set FTP Users Group has NTFS Read & Execute Permission to Access FTP Root Folder" -ForegroundColor Blue -BackgroundColor White

# Restart FTP Site
Restart-WebItem "IIS:\Sites\$FTPSiteName" -Verbose
Write-Host "Restart FTP Server" -ForegroundColor Blue -BackgroundColor White

Write-Host "It's Done!" -ForegroundColor Blue -BackgroundColor White

2019年3月15日 星期五

調查公司資產的好工具 Aida64 Business

AIDA64 Business 版本,可以將電腦的軟硬體狀況寫到資料庫裡

讓 IT 人員很方便調查公司資產。

當然,新版的功能不只這樣,但我這裡只是介紹如何讓 AIDA64 Business 把資訊寫入資料庫。

AIDA64 的安裝目錄下,有個子目錄叫做 SQL_Schema ,裡面存放了 Access、MySQL、MS SQL、PostgreSQL、Sybase、InterBase、Oracle等資料庫的 T-SQL 指令檔

例如:我要把資料寫入 MS SQL,開啟 MS SQL Management Studio
建立 aida64 資料庫後,
執行 DB - SQL Server.sql 裡的指令,去建立 AIDA64 需要的資料表

然後去執行 AIDA64 設定連接 MS SQL 需要的資訊,包括主機名稱(IP),管理帳號及密碼以及資料庫名稱,輸入完畢之後,按下測試,確認資料庫連接設定無誤即可。

然後把 AIDA64 Business 安裝在網路共享可執行的目錄下,讓每台電腦都可以執行它。

執行它時,需要給一些參數,讓它自動把資產調查報告寫入資料庫,如果沒給參數,就會變成在 Local 端執行 AIDA64 ,這樣就糗了。

第一個需要的參數是 /r
它讓 AIDA64 直接產出資訊,而不是顯示 AIDA64 視窗

第二個參數是 /database
它指定產出的資訊寫入資料庫

第三個參數可以自行斟酌 /sum
這個是說只要基本的硬體規格配備資訊,包括機器序號(如果是套裝機)等
如果使用 /all 參數,會導致電腦執行程式好一段時間。
如果用 /sum 參數,大概跑不到 5 秒就結束了!
這樣套用在群組原則時,讓使用者開機就自動執行,就會比較無感!

另外 /silent 、 /noicons 也是不要執行時顯示 icon 或跳出任何訊息,就可以在不知不覺的狀況下,調查用戶端資產了。

或者利用 Powershell 去執行它....

2019年1月28日 星期一

TP-Link Deco M9 Plus 開箱初體驗

2020/02/11 更新
        昨天又購置一套 TP-Link DECO M9 Plus,使用一天後,
        同仁反映一些問題,某些人會時斷時連,或是網路速度不佳!即使調整高優先權,也沒有改善。同仁覺得質疑 DECO M9 Plus 自動選擇 2.4G/5G 會影響連線品質。但大部分同仁的使用體驗還是很不錯的。
        個人懷疑不是很穩定的原因是因為主機是 v1.2,兩顆子機是 v2.0 的硬體版本
     

2019/01/24
最近入手了 TP-Link Deco M9 Plus 三顆,試用了一下,覺得還不錯,所以介紹給大家瞭解一下!


想必大家都從網路上看過不少外殼的包裝(包裝很有質感),所以我就不放了,直接開箱吧!

它是 1+2 的包裝,所以分成兩盒,單顆小盒裡面附說明書、網路線、變壓器、Deco M9 Plus 各一;兩顆裝的大盒,說明書一本、網路線只有一條,變壓器、Deco M9 Plus 各二。
















它的機子全白色的,不太容易看清楚。機身正面頂端有一個訊號燈,以顏色及閃爍來表示狀態,燈號的狀態意義在灰色紙板上有寫
















我把它放在 Cooling Rack(金屬散熱架) 上面(個人覺得它運行一段時間後,底部會很熱!),從機身的底部設計也可以印證這點!
















機身後方有一個電源孔、一個 USB Port(只能拿來充電,不能做USB隨身碟分享,也許以後會增加功能)、兩個網路孔(沒有分所謂的WAN、LAN,其實就是 Switch)
















接下來給各位看一下變壓器與Deco M9 Plus 的體積比例照片,變壓器大約10元硬幣4x3的大小,考慮線路曲折的話,最好是有10元硬幣 5x3的空間
















Deco M9 Plus 體積比我想像中大一些,但還好;主要是變壓器個頭有點大,加上插頭方向無法轉動…如果像是下圖兩種環境,就會無法安裝!
 


不然就得自己去找 12V 2A 輸出的小型變壓器來裝了!











接下來說說整個安裝過程,其實安裝過程很簡單,只是要有一點點小竅門,沒什麼必要請安裝人員幫你安裝;而且安裝人員不是原廠工程師,對於基本安裝以外的問題,也無法解答。

  1. 手機下載 App,安裝好 App 後,開啟藍牙,執行 App。
  2. 把第一部 Deco M9 Plus 拿到選定的位置,插上網路線,插上電源線;剛開機時,頂部燈號會一直亮黃燈,等到變成緩慢閃爍藍燈時,就可以開始操作 App 進行設定
  3. 只要按下一步,它就會偵測區域網路的 DHCP、Gateway、DNS等設定。
  4. 接著設定無線網路的SSID與密碼,設定好之後,請將手機的無線網路打開,並連接上新設的 SSID,就可以完成第一顆的設定。
  5. 接下來設定第二顆,把第二部 Deco M9 Plus 拿到選定的位置,插上電源線,一樣等到它變成緩慢閃爍藍燈時,就可以開始操作 App 進行設定,就按照 App的指示一步一步來做就可完成了。


以下是貼心提示:
  • 安裝時,不要一次把所有的 Deco M9 Plus 都插上電,不然你會搞不清楚偵測到哪一顆!一顆一顆設定,一顆一顆插電。
  • 只有第一顆(主要) Deco M9 Plus 需要插網路線(連接區域網路或PPPoE上網線路),這裡是示範原本就有上網線路,所以不需輸入 PPPoE 帳密等資訊。
  • 如果 Deco M9 Plus 頂部燈號變成閃紅燈(斷線),請用牙籤折去尖頭(免得尖頭戳壞機器),在插電狀態下,去戳 Deco M9 Plus 底部的 Reset 孔,大約3秒即可,重新開機完就會變成緩慢閃爍藍燈。
  • 因為 Deco M9 Plus 可用無線訊號Backhaul連接,也可以用有線網路 Backhaul,如果使用 WiFi Backhaul,距離稍遠,或是房間有水泥牆、金屬板阻隔時,訊號變成緩慢藍燈或綠燈的時間會比較久,有可能需要十分鐘以上
  • Deco M9 Plus 沒有 WDS 功能,所以無法跟其他品牌無線基地台進行橋接
  • Deco M9 Plus 只有 WPS 功能,是針對無線網卡的連接(終端設備),不是無線基地台。
  • Deco M9 Plus 預設安裝是路由器模式(更多→進階的→操作模式),如果公司有微軟網域,意味著 DC 無法管理用戶端;但將 Deco M9 Plus 改為無線基地台模式後,無法使用趨勢防毒防駭的功能(功能會取消)!只有Gateway模式才能使用趨勢功能,Transparent模式就沒有此功能。
  • 沒有 Virtual Server、Port Forward 等功能。在App下方選單「更多」,點選「進階的」,往上滑就可以看到通訊埠轉發
  • 沒有 VPN 功能。
  • 無線基地台模式,每一顆都會使用一個區網IP
  • 只能透過行動裝置來設定,不能透過電腦設定。
  • 在使用 SoundWire App 時,會無法自動搜尋到區網中的 SoundWire Server,但是手動輸入 IP 是可以連接的!不確定 Deco M9 Plus Drop 掉什麼封包,導致無法自動偵測連接!
產品優點:
  1. 2.4GHz、5GHz 都是同一個 SSID ,使用者不需選擇連接頻段,也不會老是抱怨 5G 頻段經常會斷線等問題。(由系統自動決定 2.4G 或是 5G)
  2. 更多→WiFi 設定裡,可以很方便的把無線網路設定,透過各種手機 App 分享給大家。
  3. 設定很容易上手。
  4. 該設備宣稱可以連接上百部裝置(不過我目前沒有這麼多設備可以大量測試)。
  5. 連接訊號四處移動真的很穩定。

最後希望軔體更新能增加以下功能:
  1. Deco M9 Plus 之後能自動透過有線網路來拓展無線訊號區域(Ethernet backhaul),DECO M9 Plus 已增加 Ethernet Backhaul 功能,但是連接網路線之後,WiFi 5G Backhaul 就會被 Disable,如果交換器本身效能不好,就會影響 Backhaul 效率
  2. 能增加 WDS 橋接其他品牌無線基地台。
  3. 讓無線基地台模式也能享有趨勢防毒防駭功能。(雖然是 Bridge/Hub 模式,還是可以做到過濾封包的功能呀,畢竟設備還是要透過 Deco 的無線訊號連接)
  4. 希望 Deco 的變壓器能再縮小一些。
  5. 橡膠腳墊可以再高一點點,讓散熱更好。
  6. 機殼底能加吸頂壁掛孔。國外有很多 DECO M9 Plus 專用的 吸頂壁掛散熱架,請 Google DECO M9 Plus Wall Mount
  7. App 裡顯示 MAC Address 能顯示完整。是我自己把手機字型放大,導致無法完整顯示MAC Address...
  8. 更完整的防火牆功能(Virtual Server、VPN等)。
  9. 更多的統計報表,如各別的網路使用總量,各種協定流量…QoS等等都能在無線基地台模式使用
  10.  Deco M9 Plus 靠無線網路連接彼此時,建議 App 能顯示各顆連接的訊號強度,讓使用者可以用來調整設備位置,以改善連接品質。
  11. 增加 Share USB Stoage 的功能,甚至從雲端存取 USB Storage 的功能!讓行動裝置在外可以直接把資料存回家中!
  12. 連接行動裝置分享的無線網路,讓行動網路變成 Mesh WiFi
  13. 透過 USB 連接電腦設備,變成USB 無線網卡。