2021-01-20

Service Endpoint vs Private Endpoint

On Storage Account: Allow access from selected subnets in Azure vNet (For Free)

On Azure vNet Subnet: Apply Service Endpoint Policy (For Free)

vs

Connecting from premise.

Private Endpoint per hour / Inbound per GB / Outbound per GB

2021-01-19

AutoMount VHDx in Azure File Shares for Storage Pool Virtual Disk

Azure Files 就是 Storage Account 的 File Share,直接用 \\UNCPath\ 的方式存取效能不佳 (謎?)
如果在其上建立 VHDx 並在一台 VM 中 Mount 起來當成 File Server 來提供服務效能較佳,若用多個 VHDx 組成 Storage Pool 的話效能更好

Azure Files Standard file shares 單一檔案最大 1 TB,所以可以建立 5 個 1TB 的 Dynamic VHDx 掛接起來,建立 Simple Thin Virtual Disk 來使用,一樣取得 5TB 儲存空間,且具有高存取效率與重複資料刪除 Deduplication (Windows Server Feature),同時還可以 Pay as you go

$StorageArray 定義 Volume Name

$VolumeName 陣列定義 VHDx 成員 的 FullPath

完成以上定義後,Get-Volume 找目前系統中是否已經將 $StorageArray 中的每一個 Volume 都掛上,如果沒有,就檢查是哪一個 VolumeName 還沒掛上,將還沒掛上的 $VolumeName 陣列中的 VHDx 全部掛上。

##### 程式開始 #####

2021-01-15

Backup and Restore NTFS Permission (ACL) and Owner with PowerShell

Backup

$TargetPath = 'C:\PathToBackup';
$ACLFile = 'C:\NTFSBackup.csv';
$PathReplaceKeyword = 'AKeywordToReplacePathForRetoreToDifferentPath'

$ACLArray = @();
$ACLArray += (Get-item -path $TargetPath | Get-ACL | Select-Object @{Name="Path"; Expression={($_.Path -Replace [regex]::Escape($TargetPath),$PathReplaceKeyword)}},Owner,Sddl);
$ACLArray += (Get-Childitem -path $TargetPath -recurse | Get-ACL | Select-Object @{Name="Path"; Expression={($_.Path -Replace [regex]::Escape($TargetPath),$PathReplaceKeyword)}},Owner,Sddl);
$ACLArray | Export-CSV $ACLFile -NoTypeInformation;

 

2021-01-08

FSLogix User Profile Folder & Disk ACL Fix

不知動到什麼東西導致 FSLogix 的 USer Profile 路徑下 NTFS Permission 亂掉
User Account 專屬的權限消失
因為 FSLogix 的目錄結構跟 Microsoft VDI 不一樣,所以不能直接用這篇文章的 Script 修

於是稍微修改一下成為以下 Script 來處理

===== 程式開始 =====

clear
write-host
write-host
$UPDPath = Read-Host -Prompt 'Input User Profile Disk Path'
$UPDFolders = Get-ChildItem -Path $UPDPath | Select Name,FullName

2021-01-07

Robocopy 複製 NTFS ACL (Permission) 與差異化複製 (Differential Copy)

複製 NTFS ACL (Permission)

RoboCopy <source> <target> /MIR /SEC /SECFIX


差異化複製 Differential Copy

RoboCopy <source> <target> /e /xo /purge

2021-01-02

Azure Windows 10 Multi-Session Language Packs 多國語言包離線安裝

不知為何在 Azure 上建立的 Windows 10 Multi-Session Version 用線上安裝語言包進度都不會動
而且之前記錄的這篇 Windows 10 Language Packs 多國語言字型問題 的指令敲下去也不會動

找了一下,微軟有提供語言包 ISO 檔可以下載
網頁中也有安裝的語法

要下載兩個 ISO 檔,分別是 Language ISO 與 FOD Disk 1 ISO

Mount 後直接下指令
以下列出常用的: 繁體中文、簡體中文及日文的安裝 Powershell Command

2020-12-30

Azure Note: ADDS integrated Azure File Share with Private Endpoint

 ADDS integrated Azure File Share

1. Azure vNet DNS set to ADDS DNS

2. Add Private DNS zone (Or Auto Create in Step 3.2.3)
2.1 Named: privatelink.file.core.windows.net
2.2 Add Virtual Network Link

2020-12-28

PowerPoint 存成圖片檔的解析度調整

PowerPoint 很小氣,預設輸出圖片只有 1280x720
如果需要輸出高解析度的話必須要修改註冊機碼

微軟說明在此:
https://docs.microsoft.com/en-us/office/troubleshoot/powerpoint/change-export-slide-resolution

HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\PowerPoint\Options

2020-12-25

Powershell Password Generator

$Password =  ("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz".tochararray() | sort {Get-Random})[0..16] -join ''

$Password