2018/05/22

Windows 10: Windows 10 April 2018 Update (1803) を適用後 Outlook での IME が変

<2018/07/26 Update>
修正プログラムがリリースされたとの事!

先日リリースされた Windows 10 April 2018 Update (1803) を適用した後、Outlook で本文を入力しているととても怪しい挙動をしています。
# Outlook 以外は今のところ現象に遭遇せず

 Windows 10 April 2018 Update (1803) + Office 365 ProPlus (1708.8431.2242)

ひらがな数文字を入力して漢字変換しようとすると、すでに1文字目のひらがなが確定されてしまい、2文字目以降で変換されたり、変換した漢字がずっと確定できなかったり。

最初はキーボードのハード的な問題かなと思っていたのですが、
常に起こるわけではなく、特にインターネット接続が弱い時(新幹線の中とか)に起こる感じです。
という事で、怪しむのは IME のクラウド予測変換機能。。。

お仕事に影響が出てきたので対処療法的に IME 予測変換機能を OFF にさせて頂きました。

画面右下のタスクトレイにある IME のアイコン ([あ] とか [A]) を右クリックして、プロパティをクリック

「Microsoft IME の設定」で [詳細設定] をクリック

「Microsoft IME の詳細設定」で、「予測入力」タブを開いて、「予測入力を使用する」のチェックを外す。
「予測入力サービス」の "クラウド候補" を外すのでも効果あるのかな?

予測変換の機能自体は便利なので OFF にはしたくないのですが、取り急ぎの対処。
時間があれば現象が出るパターンなど探してみようかと・・・。
「予測候補を表示するまでの文字数」のデフォルト 「1」文字ってのを増やすのも1つでしょうか。

Update されて治る事を願っています。

----------
2018/05/24 追記
既知の問題のようでMicrosoftでも調査中と Blog で発表されています。
やはり Outlook だけの問題なんですかね。早々に治る事を祈りましょう。

Windows 10 April 2018 Update (バージョン 1803) を適用後、Outlook での文字入力に問題が発生する
https://blogs.technet.microsoft.com/outlooksupportjp/2018/05/23/windows-10-april-2018/

----------
2018/07/26 追記
ようやく修正プログラムがリリースされたようです!

対処方法 (2018/7/25 update)
Windows 10 の修正プログラム KB4340917 (OS Build 17134.191)  を適用することで、本現象が回避いたします。

【修正済み】Windows 10 April 2018 Update (バージョン 1803) を適用後、Outlook での文字入力に問題が発生する
https://blogs.technet.microsoft.com/outlooksupportjp/2018/05/23/windows-10-april-2018/

不憫な中でなかなか待ちましたよ。。。
問題発覚して修正プログラム取り下げとかない事を祈ります。

2018/02/16

Office 365: PowerShell から CSOM で SharePoint Online のリミット (429) を回避して操作する

最近、CSOM を使って SharePoint Online へ接続する際に、SharePoint Online 側の制限が厳しくなったのか、Limit に引っかかり 429 の HTTP Response エラーとなる確率が高くなってきたようです。

回避方法としては、UserAgent を付けるのと、リトライを行う事とのこと。
あくまでも 100% 回避できる訳ではない事に注意が必要です。

SharePoint Online で調整またはブロックを回避する
https://docs.microsoft.com/ja-jp/sharepoint/dev/general-development/how-to-avoid-getting-throttled-or-blocked-in-sharepoint-online

C#版のサンプルコードは Microsoft から出ている(一部Bugってるが・・・)ものの、両方の対策に対応した PowerShell 版のサンプルが Microsoft から出ていないので、作ったものを自分の備忘を兼ねて書いておきます。

ちなみに、リトライを行う PowerShell のサンプルは Microsoft のサポートの森さんが記載されているので、リトライを行う部分は 森さんのコードをそのまま拝借しています。

PowerShell サンプル : SharePoint Online HTTP 調整 (応答コード : 429) 対策の増分バックオフ リトライ
https://blogs.technet.microsoft.com/sharepoint_support/2016/10/08/powershell-csom-sample-code-for-spo-http-429-incremental-backoff-retry/

以下、PowerShell の Sample コード (DLLのURLは適宜変更してください)
指定したサイト($siteUrl)内のリスト一覧を取得します。
#==========================================

Add-Type -Path "C:\Program Files\Common Files\microsoft shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.Client.dll"
Add-Type -Path "C:\Program Files\Common Files\microsoft shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.Client.Runtime.dll"

function ExecuteQueryWithIncrementalRetry($retryCount, $delay)
{
  $retryAttempts = 0;
  $backoffInterval = $delay;
  if ($retryCount -le 0)
  {
    throw "Provide a retry count greater than zero."
  }
  if ($delay -le 0)
  {
    throw "Provide a delay greater than zero."
  }
  while ($retryAttempts -lt $retryCount)
  {
    try
    {
      $script:context.ExecuteQuery();
      return;
    }
    catch [System.Net.WebException]
    {
      $response = $_.Exception.Response
      if ($response -ne $null -and $response.StatusCode -eq 429)
      {
        Write-Host ("CSOM request exceeded usage limits. Sleeping for {0} seconds before retrying." -F ($backoffInterval/1000))
        #Add delay.
        Start-Sleep -m $backoffInterval
        #Add to retry count and increase delay.
        $retryAttempts++;
        $backoffInterval = $backoffInterval * 2;
      }
      else
      {
        $retryAttempts++;
        throw;
      }
    }
  }
  throw "Maximum retry attempts {0}, have been attempted." -F $retryCount;
}

function AddUserAgent()
{
param([Parameter(Mandatory=$true)][object]$Context)

    $Assemblies = (
        "C:\Program Files\Common Files\microsoft shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.Client.dll", `
        "C:\Program Files\Common Files\microsoft shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.Client.Runtime.dll"
    )

    $CSharpSource=@"
using System;
using Microsoft.SharePoint.Client;

public static class CSOMContexChanger
{
public static void CSOMAddUserAgent(ClientContext context)
{
            context.ExecutingWebRequest += delegate (object sender, WebRequestEventArgs e)
            {
                e.WebRequestExecutor.WebRequest.UserAgent = "NONISV|Contoso|PowerShellScript/1.0";
            };
}
}
"@

Add-Type -TypeDefinition $CSharpSource -ReferencedAssemblies $Assemblies -Language CSharp
    [CSOMContexChanger]::CSOMAddUserAgent($Context);
}

# Set Site URL
$siteUrl = "https://<TenantName>.sharepoint.com/sites/<SiteName>/"
# Set Credential
$Credentials = Get-Credential

$script:context = New-Object Microsoft.SharePoint.Client.ClientContext($siteUrl)
$script:context.Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Credentials.UserName,$Credentials.Password)

# Call UserAgent to SPContext Method
AddUserAgent $script:context

$lists = $script:context.Web.Lists
$script:context.Load($lists)

# Call ExecuteQuery with Retry Method
ExecuteQueryWithIncrementalRetry -retryCount 5 -delay 30000

$lists | ForEach-Object{ "Title: {0}" -f $_.Title }

#==========================================

2016/10/17

Windows 2016: 仮想マシンの自動アクティベーション

かなり久々の更新です。

Windows Server 2016 がリリースされたので久々に備忘までに更新しておきます。

Windows Server 2016 DataCenter Edition がインストールされたホスト OS (Hyper-V) の場合、仮想OSE (仮想マシン) は無制限に作成する事が可能です。

Windows Server 2016 DataCenter Edition では、その無制限に作成可能な仮想マシンのアクティベーションを簡略化する Automatic Virtual Machine Activation (AVMA) という機能が Windows Server 2012 R2 の頃から追加されています。

要は、ホストOS のアクティベーションが完了しているなら、その上で動く仮想マシンのアクティベーションは自動でOKとなる(Microsoftと通信なし)という事みたいです。

検証環境やクローズの環境を仮想マシンで作成する場合、インターネット接続があるとは限らないですし、毎回、同じキーでアクティベーションしていたら、アクティベーションの上限回数も気にしないといけないですから、便利です。

ホストとゲストの使用条件は以下の通り

仮想ホスト :
Windows Server 2012 R2 DataCenter Edition
Windows Server 2016 DataCenter Edition
仮想ゲスト :
Windows Server 2012 R2 DataCenter , Standard , Essentials
Windows Server 2016 DataCenter , Standard , Essentials


やり方としては、仮想ゲストのプロダクトキーの入れ替えも必要です。
GUIから変更も可能ですし、"slmgr /ipk <プロダクトキー>" で行います。

設定するプロダクトキーはこちら。仮想ゲストで使用する Edition によって異なります。

2012 R2AVMA Key
DatacenterY4TGP-NPTV9-HTC2H-7MGQ3-DV4TW
StandardDBGBW-NPF86-BJVTX-K3WKJ-MTB6V
EssentialsK2XGM-NMBT3-2R6Q8-WF2FK-P36R2

2016AVMA Key
DatacenterTMJ3Y-NTRTM-FJYXT-T22BY-CWG3J
StandardC3RCX-M6NRP-6CXC9-TW2F2-4RHYD
EssentialsB4YNW-62DX9-W8V6M-82649-MHBKQ

今のところ、英語の情報しかないみたいですが、詳しくはこちらをご覧ください。
http://technet.microsoft.com/en-us/library/dn303421.aspx

2015/06/28

Office 365: Microsoft Intune が有効なテナントでは Office 365 MDM が使えない

Office 365 MDM (モバイルデバイス管理) 機能が Office 365 の標準機能として提供されたとの事で、早速、自分のテナントでも試してみたいと試みました。

Office 365 用のモバイル デバイス管理の概要

Office 365 管理画面の左のメニューに「モバイル デバイス」というものが増えています。
どうやら、ここから構成すればOK! という事なので早速クリック!

が、、、しかし!

「セットアップする必要はありません」との事。。。

よくよく読むと、すでに Microsoft Intune を同じサブスクリプションで有効化してしまっている為、Office 365 の MDM は必要ないだろう。。。という事でした。

確かに、Microsoft Intune でもろもろ iPad などの制御が可能なので必要はないのですが・・・・

という事で、断念しました。

また、別の試用版環境などでも構築して機能を見てみたいと思います。

=========
詳しい方に教えていただきました。

既に Microsoft Intune を使い始めてる人が、どうしても Office 365 MDM を使いたい場合、サポートへ問い合わせをしてお願いをすれば使えるようになるそうです。

ただし、既存の Microsoft Intune の情報が消えたり、いろいろと厄介な事になるとの事なので、そんな勇気はなく、諦めました x2。


2015/06/26

Azure: Azure AD Sync から Azure AD Connect にアップグレードしてみた

昨日、GA した Azure AD Connect ですが、これまでのディレクトリ同期ツール や Azure AD Sync (AADSync) に置き換わるものとされています。

ディレクトリ同期ツール や AADSync から簡単にアップグレード (移行?) できるとの事なので、早速、AADSync からインプレースで置き換えてみました。

元の環境は、Windows Server 2012 R2 上にインストールした AADSync で、2つの AD フォレスト と Azure AD (Office 365) を繋いでます。

■ アップグレードしてみる

早速、Azure AD Connect をダウンロード。まだ英語版しかないです。日本語版もでるのかな?
ダウンロードした MSI ファイルを実行します。

ウィザードが立ち上がり、既に同期サービスがインストールされてるよ!っと判断して、Upgrade モードになっています。
「I agree to the license terms and privacy notice.」にチェックを入れて、[Continue] を押します。

Azure AD Sync から Azure AD Connect にアップグレードする間、同期は止まるよとのこと。
[Upgrade] を押します。

後は、待つだけ。簡単楽ちんです。各種設定情報も引き継いでくれるみたいです。

次に、Azure AD の認証情報を入力しろとの事なので、Azure AD の管理者アカウント(xxx@contoso.onmicrosoft.com) を入力。

「Ready to configure」と表示されて引き継ぎ準備完了との事なので、「Start the synchronization process as soon as the configuration completes.」にチェックを入れて、「Upgrade」を押します。

待つだけ。

完了したメッセージに変わったら 「Exit」 で終了。

ちなみに、インストール後の「プログラムと機能」はこんな感じになりました。

これで一通りのアップグレードは完了です。
大きな変更はなさそうなので非常に簡単です。

ディレクトリ同期ツールからのアップグレード方法についても詳しく公開されてますね。
https://azure.microsoft.com/ja-jp/documentation/articles/active-directory-aadconnect-dirsync-upgrade-get-started/
新しいサーバーを立てて、構成情報を Export して Import することも可能との事。

■ 構成してみる

アップグレードが完了すると、デスクトップ上に "Azure AD Connect" というショートカットが出現します。
構成ウィザードのショートカットです。


起動してみるとウィザードが立ち上がってきます。

Additional tasks として、3つの選択肢が出てきます。

  •  View current configuration (現在の構成を参照)
  •  Customize synchronization options (同期オプションの変更)
  •  Configure staging mode (ステージングモードの構成)


 ・ View current configuration (現在の構成を参照)

見るだけです。


・Customize synchronization options (同期オプションの変更)

構成した同期の設定を変更したり追加したりできます。

AADSync の時から引き続きオンプレADのマルチフォレストなので、必要に応じてここで追加します。
今現在は、"DIRECTORY TYPE" が "Active Directory" しか選べませんが、いずれ他のディレクトリもサポートされる予定との事。

「Optional feature」に Preview の各種機能が増えてます(?)よね?
"User writeback","Group writeback","Device writeback","Directory extension attribute sync" が選択 Preview 機能として選択できるようになってます。これらの機能はまたいづれ試したいと思います。

どのアプリケーションを対象にするのかも変更ないです。
必要に応じて「I want to restrict the list of applications" にチェックを入れて制限します。

同期する属性の選択です。ここでも必要に応じて "I want to further limit the attributes exported to Azure AD." を選択した上で、不要なもののチェックを外します。

後は、"Start the synchronization process as soon as the configuration completes." にチェックを入れて、「Install」を押せば構成されます。

終わったらこんな感じ。

ちなみに、こんなエラーが出た場合は、過去に倣って、事前に構成済みのタスクをタスクスケジューラーから無効にしておく必要があります。

[コンパネ]-[管理ツール]-[タスク スケジューラ] で "Azure AD Sync Scheduler" を無効に設定してください。

・Configure staging mode (ステージングモードの構成)

新しくついた機能ですね。ちょっと名前的に「検証環境?」というイメージになりますが、どうやら、ディザスタリカバリー(DR)を想定した機能のようです。

プライマリーで動作する Azure AD Connect の同期サービスが長期で停止した際、あらかじめ Staging mode を有効にした別拠点のセカンダリーの Azure AD Connect の同期サービス を用意しておけば、Staging mode を無効化するだけでプライマリーとして動作するようになるとの事。

実際設定検証はやってないのですが、設定画面の画面ショットだけ・・・

 セカンダリーのサーバー側では、この「Enable staging mode」にチェックを入れれば良いという事ですね。

「Install」を押せば Staging mode が有効になります。

■ 補足

例によって Azure AD Connect は Forefront Identity Manager ベースで動いています。
よって、FIM のコンソールも見ることができます。

Program Files\Microsoft Azure AD Sync\UIShell にあります。

バージョンを確認するとちゃんと "Azure AD Connect Service"となっているのが確認できます。


同期属性の選択部分に増えた項目が並んでます。

 AADSync から増えた "SyncRulesEditor" も同じフォルダに入ってます。

同期のフィルタなどルールの変更をこのエディターからでも行うことが可能です。


また時間を見つけて Preview 機能のあたりについても見てみたいと思います。

2015/06/25

Azure: Azure Active Directory Connect が GA

以前より、Office 365 の AD 同期などでおなじみの "ディレクトリ同期ツール" "Azure AD Sync" などの後継ツールを含むサービスとして Preview が公開されていた Azure Active Directory Connect  が GA したとのこと。
Integrating your on-premises identities with Azure Active Directory

Azure AD Connect 自体は、同期サービス全体を指す感じの位置づけですね。

Connectツールのダウンロードはこちら
Microsoft Azure Active Directory Connect 

今のところ、まだ英語版のみのようですね。


ついでに、Azure AD Premium が必要なようですが、Azure Active Directory Connect Health も GA とのこと。


追々、既存の Azure AD Sync ツール を置き換えていきたいとおもいます。

2015/05/08

Exchange: Exchange がついに Azure 上でサポート!

あまりに Blog を放置しすぎてた・・・。

軽くリハビリから。

これまで AWS ではサポート(?) されていた Exchange Server ですが、ようやく Azure 上での稼働もサポートされるようです。

Exchange 2013 virtualization
https://technet.microsoft.com/en-us/library/jj619301(v=exchg.150).aspx

Deployment on Microsoft Azure virtual machines is supported if all storage volumes used for Exchange databases and database transaction logs (including transport databases) are configured for Azure Premium Storage.

Exchange の Database と トランザクションログ (トランスポートDBも含む) を Azure Premium Storage 上に配置する事が条件になります。

やはり、ストレージの I/O がネックだったようですね。

とは言え、Exchange の配置場所の選択肢が増えてよかったです。


まぁ、ただ Public Cloud は 「停止する事を前提に設計せよ!」 との鉄則があるので、どういったメールボックスを持っていくのか?何なら、Exchange Online で十分では?という声もありますが・・・w

ハイブリッド目的の検証環境構築などには活躍しそうですね。

2015/01/16

Azure: 仮想マシンに接続可能なディスク本数

Microsoft Azure の仮想マシンに対して接続可能なディスク数を纏めておきます。
個人的によく調べるので・・・

ちなみに、Azure のディスクはMAX 1TB です。
ですので、1TB を超える容量が仮想マシンに必要な場合は、必要に応じて仮想マシンのサイズを大きくして、1TB のディスクを数本刺した上で OS 側でソフトウェアRAIDを組むなりする必要があります。

あと、話は脱線しますが、Azure のディスクへの課金は "設定している容量" ではなく "使われている容量" が対象となります。

Aシリーズ、Dシリーズ、Gシリーズ について纏めます。

※ 基本的には コア数 x 2 が最大 Disk 本数ですね。

■ 基本プラン

サイズ CPU
コア
メモリ ディスクサイズ -
仮想マシン
最大データ ディスク数
(各ディスク1TB)
A0 1 768 MB OS = 127 GB
一時ディスク = 20 GB
1
A1 1 1.75 GB OS = 127 GB
一時ディスク = 40 GB
2
A2 2 3.5 GB OS = 127 GB
一時ディスク = 60 GB
4
A3 4 7 GB OS = 127 GB
一時ディスク = 120 GB
8
A4 8 14 GB OS = 127 GB
一時ディスク = 240 GB
16

■ 標準プラン

サイズ CPU
コア
メモリ ディスクサイズ -
仮想マシン
最大データ ディスク数
(各ディスク1TB)
A0 1 768 MB OS = 127 GB
一時ディスク = 20 GB
1
A1 1 1.75 GB OS = 127 GB
一時ディスク = 40 GB
2
A2 2 3.5 GB OS = 127 GB
一時ディスク = 60 GB
4
A3 4 7 GB OS = 127 GB
一時ディスク = 120 GB
8
A4 8 14 GB OS = 127 GB
一時ディスク = 240 GB
16
A5 2 14 GB OS = 127 GB
一時ディスク = 135 GB
4
A6 4 28 GB OS = 127 GB
一時ディスク = 285 GB
8
A7 8 56 GB OS = 127 GB
一時ディスク = 605 GB
16
A8 8 56 GB OS = 127 GB
一時ディスク = 382 GB
16
A9 16 112 GB OS = 127 GB
一時ディスク = 382 GB
16
D1 1 3.5 GB OS = 127 GB
一時ディスク(SSD) = 50 GB
2
D2 2 7 GB OS = 127 GB
一時ディスク(SSD) = 100 GB
4
D3 4 14 GB OS = 127 GB
一時ディスク(SSD) = 200 GB
8
D4 8 28 GB OS = 127 GB
一時ディスク(SSD) = 400 GB
16
D11 2 14 GB OS = 127 GB
一時ディスク(SSD) = 100 GB
4
D12 4 28 GB OS = 127 GB
一時ディスク(SSD) = 200 GB
8
D13 8 56 GB OS = 127 GB
一時ディスク(SSD) = 400 GB
16
D14 16 112 GB OS = 127 GB
一時ディスク(SSD) = 800 GB
32
G1 2 28 GB OS = 127 GB
一時ディスク(SSD) = 412 GB
4
G2 4 56 GB OS = 127 GB
一時ディスク(SSD) = 824 GB
8
G3 8 112 GB OS = 127 GB
一時ディスク(SSD) = 1,649 GB
16
G4 16 224 GB OS = 127 GB
一時ディスク(SSD) = 3,298 GB
32
G5 32 448 GB OS = 127 GB
一時ディスク(SSD) = 6,596 GB
64

※ 投稿時点では G Series は West U.S. region でのみ利用可能です。
※ OS領域やデータ領域で SSD を利用するには 投稿時点で Preview 中の Premium Storage が必要です。

<参考>
Azure の仮想マシンおよびクラウド サービスのサイズ
http://msdn.microsoft.com/ja-jp/library/azure/dn197896.aspx

General Availability: G-Series for Virtual Machines
http://azure.microsoft.com/en-us/updates/general-availability-g-series-for-virtual-machines/

2015/01/13

Office 365: 各種サービスへのPowerShellでの管理接続

今更ながら纏めてみた。


※ 全体を通じた必須モジュール

PowerShell 3.0 以上 (Windows 7 以下の場合)
http://www.microsoft.com/en-us/download/details.aspx?id=34595

IT プロフェッショナル 用 Microsoft Online Services サインイン アシスタント RTW
http://go.microsoft.com/fwlink/p/?LinkId=286152

[追記]
Windows PowerShell スクリプトの実行権限の変更が必要な場合があります。
変更する為には、PowerShell を [管理者として実行] で起動し、以下のコマンドを実行。
Set-ExecutionPolicy RemoteSigned
※ "RemoteSigned"の部分がポリシーの内容になるので適宜最適なものに変更してください。
  https://technet.microsoft.com/ja-jp/library/ee176961.aspx

■ Azure Active Directory

◇ 必要追加モジュール

Windows PowerShell 用 Azure Active Directory モジュール (64 ビット バージョン)
http://go.microsoft.com/fwlink/p/?linkid=236297

◇ PowerShell コマンド
Connect-MsolService

■ Exchange Online

◇ 必要追加モジュール

なし

◇ PowerShell コマンド
$UserCredential = Get-Credential $Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $UserCredential -Authentication Basic -AllowRedirection Import-PSSession $Session

■ Skype for Business Online (Lync Online)

◇ 必要追加モジュール

Skype for Business Online, Windows PowerShell Module
https://www.microsoft.com/ja-JP/download/details.aspx?id=39366

◇ PowerShell コマンド
Import-Module SkypeOnlineConnector $credential = Get-Credential $session = New-CsOnlineSession -Credential $credential Import-PSSession $session

■ SharePoint Online

◇ 必要追加モジュール

SharePoint Online Management Shell
http://www.microsoft.com/ja-jp/download/details.aspx?id=35588
# 2015/1/13 抜けていた為に追記 - 大鷲様ご指摘ありがとうございました!

◇ PowerShell コマンド
Connect-SPOService -Url https://contoso-admin.sharepoint.com -credential admin@contoso.com

2014/06/10

AWS: AWS をバーチャルクレジットカードで使えなかった・・・

ちょっとした情報まで。。。

ひょんなきっかけで Amazon Web Services (AWS) をお試しする機会があり、無償のアカウントを契約するにあたりクレジットカードが必要との事でしたので、セキュリティの事も考え バーチャルクレジットカード を利用してみましたが、AWS で バーチャルクレジットカード は使えませんでした。

選択した バーチャル クレジットカード は e-さいふ (三菱UFJニコス)

カードを発行してAWSへ登録するところまではうまくいったのですが、審査が通らなかったようです。


書かれている事はある程度確認したんですけどねぇ~。。。

結局、タイムオーバーで素直に通常のクレジットカードで審査通しました。

AWS は何かにつけて 英語 なので 英語弱者 にはツラいところもありますね。。。