$item = Get-Item "HKCU:\Software\Microsoft\IdentityCRL\UserExtendedProperties"
$item.GetSubKeyNames() | select @{ name = "MS Account"; Expression = {$_} }, @{ name = "CID"; Expression = { $item.OpenSubKey($_).GetValue("cid") } }
上記で取得したCIDを使い、以下のパスを指定することでExplorerからOneDriveにアクセス可能。(WebDAV接続)
https://d.docs.live.net/{CID}
普通にOneDriveクライアントで接続すると同期してしまうのが、この方法だと同期しないクラウドストレージとして使える。
ついでに、ネットワークドライブに接続するスクリプト
$cid = "{MicrosoftアカウントのCID}"
$DriveLetter = "X"
$net = New-Object -ComObject WScript.Network
$net.MapNetworkDrive("{0}:" -f $DriveLetter, "\\d.docs.live.net@SSL\$cid", $false)
マップされたドライブのラベルが既定でCIDになってしまうので、それも見栄えのよいラベルに変えたい。
以下未検証>
$shell = New-Object -ComObject Shell.Application
$shell.NameSpace( "{0}:\" -f $DriveLetter ).Self.Name = "尾根ドライブ"
とか
$drive = Get-WmiObject -Class win32_volume -Filter ("DriveLetter = '{0}:'" -f $DriveLetter)
Set-WmiInstance -input $drive -Arguments @{ Label = "尾根ドライブ"}
とか