【Exchange 2013】 バックアップエグゼック 2014 を使ってバックアップを取得
[目的]
バックアップエグゼック2014を使って、データベースをバックアップを取得します。
また、単体のEDB、DAG の両方を確認します。
[前提条件]
・Exchange 2013 CU8 のため バックアップエグゼック2014SP2以上が必要
・MBXサーバ台数分、アプリケーション&データベースエージェントが必要
・バックアップエグゼックのインストール、データベースのバックアップアカウントを事前に作成しておく
[検証手順 - バックアップエグゼック インストール]
1. backupadmin の名前でサービスアカウントを作成
2. バックアップエグゼック2014をインストールするサーバーにbackupadminを管理者として追加
3. "Backup_Exec_2014_14.1_SP2_MultiPlatforms_Multilingual.iso" をマウント
4. とりあえず、次へ
※ キャプチャが無いところは、既定。
5. カスタムインストールを選択肢、次へ
6. [ローカルインストール] - [backup excec および各オプションのインストール] を選び、次へ
7. Agent for Application and Databases のチェックを追加し、次へ
8. ユーザー名を backupadmin として、次へ
9. SP2 がインストールされたことを確認
10. バックアップを保存するストレージを追加するため、バックアップエグゼックを起動し、[ストレージ] - [ディスクのストレージ] を選択し、次へ
11. [ディスクストレージ] を選択肢、次へ
12. 名前に [テストストレージ] を入れ、次へ
13. 既定のまま、次へ
14. 書き込み同時処理も既定のまま、次へ
15. [ホーム] へ戻ると、ストレージ状態が更新されている
以上。
[検証手順 - Exchange 2013 のバックアップ]
1. Exchange Server に以下の最少権限を付与
★シマンテックの管理者マニュアルより★
■ 役割グループの作成
次のコマンドを入力します。
new-RoleGroup -Name <役割グループの名前> -Roles @("Database Copies", "Databases", "Exchange Servers", "Monitoring", "Mail Recipient Creation", "Mail Recipients", "Recipient Policies" "Mail Enabled Public Folders", "Public Folders")
次に実際の実行コマンド例を示します。
new-RoleGroup -Name BackupExecRoles -Roles @("Database Copies", "Databases", "Exchange Servers", "Monitoring", "Mail Recipient Creation", "Mail Recipients", "Recipient Policies", "Mail Enabled Public Folders", "Public Folders")
■ backupのサービスアカウントを役割グループに追加
Add-RoleGroupMember -Identity <役割グループの名前> -Member <ユーザーアカウントの名前>
次に例を示します。
Add-RoleGroupMember -Identity BackupExecRoles -Member backupadmin
※ 役割グループとかよくわからない場合は、以下の手段をとる
(a)サービスアカウントとか作成せず、すべて、AD/Exchange の管理者権限で Exchange のインストール、バックアップエグゼックのインストールを実施する。
(b)サービスアカウントは別にしたい場合は、Organization Management に backupadmin を追加する。
2. Exchange MBXサーバーのローカルの管理者グループに、backupadmin を追加
3. バックアップエグゼックサーバーに backupadmin で入り直す
4. バックアップエグゼックを起動
5. Exchange Server を追加するため、[バックアップとリストア]-[追加] をクリックする。今回は、①を試す。
①Microsoft Windows のコンピュータとサーバー
=> DAG を構成していない場合
➁Microsoft Exchange データベース可用性グループ
=> DAG を構成している場合
6. 既定のまま次へ
7. IPアドレスを入力し、[追加]、そして [次へ]
8. インターネットに接続してないため、自動アップグレードはチェックを外し、次へ
9. 成功すると、Exchange Server は自動的に再起動される
【Exchange 2013】 データベースのバックアップについて検討
[内容]
今回は、Exchange 2013 のバックアップ方式について検討します。
検討は以下の 4 方式
✅ Windows バックアップ
✅ DPM 2012 R2
✅ バックアップエグゼック 2014
✅ DACモード/DAG 遅延コピー
[検討1 - Windows バックアップ]
後述の technet 情報を見る限りだと以下
※ 無料なので制限は多いですね。
・Exchange MBX 上でしか動作しない。(ローカル)
・増分は取得できない。
・回復用データベースは利用できない。(使うことはないと思いますが。)
・データベース単位で復元ができない。
・Exchange 2010 ではパッシブのデータベースをバックアップできないが、Exchange 2013 では可能
参考情報
Windows Server バックアップを使用した Exchange データのバックアップと復元: Exchange 2013 Help
メールボックス データベース コピー: Exchange 2013 Help
バックアップ、復元、および障害復旧について: Exchange 2010 のヘルプ
[検討2 - DPM 2012 R2]
・DPMサーバー1台で 80 TB までが対象
・アクティブもパッシブもバックアップ可能
・最大20ノード、10000メールボックスをバックアップ可能 ※ 10000メールボックスデータベースの間違いかな。
・8つの並列バックアップが可能
・増分も対応
[検討3 - BackupExec 2014]
一番機能が多そう。
・アクティブもパッシブもバックアップ可能
・基本的にはパッシブからとってくれる。
・PSTファイルに復元可能
・メールボックスアカウントを再作成できる。
・DAGのシーティングを実行できる。
参考情報
Requirements for using the Exchange Agent
[検討4 - DACモード/DAG 遅延コピー]
・バックアップソフトウェアがいらない。
・Exchangeサーバーのライセンス費用が掛かる。
見解
===========
☑ Exchange 以外のバックアップも取ることがあると思うので基本的には、その製品または、追加でDPMかBackupExecになるかと思います。あとは、構築ベンダーがどこの製品のナレッジが多いかですね。
☑ DPMもバックアップエグゼック等のバックアップ製品が無い場合で、更に、小規模の Exchange を構築している場合は、Windows Server バックアップで十分ですね。
☑ Exchange 組織のためにバックアップシステムを構築している大規模システムの場合は、バックアップシステムはもういらないかもしれないです。IIS や レジストリ等一部バックアップは取れないですが、データベースだけなら DAC モードで Exchange サーバーのDRサイト&データバックアップサイトとして構成するのがランニングコストは安そうです。※バックアップシステムを管理する必要無いですので。
では、次に、各検討した製品をインストールして検証します。
続く。
【Exchange 2013】 現在のデータベースサイズを一括で取得したい
[概要]
現在のメールボックスデータベース サイズを取得するには、Get-MailboxDatabase を利用します。
Title: Get-MailboxDatabase
URL:https://technet.microsoft.com/ja-jp/library/bb124924(v=exchg.160).aspx
データベースサイズを取得するには、status オプションを使用する必要があります。
Get-MailboxDatabase -Id <データベース> -status | select Name,Server,DatabaseSize
データベースを複数指定する場合は、後述のような指定方法でもよいかもしれないです。
[コマンド]
$Database_List = @(
"MBX-0001",
"MBX-0002",
"MBX-0003",
"MBX-0004",
"MBX-0005",
"MBX-0006"
)
foreach($temp in $JP_Database_List){
Get-MailboxDatabase -id $temp -status | select Name,Server,DatabaseSize
}
[実行結果]
Name Server DatabaseSize
---- ------ ------------
MBX-0001 Ex003 72.3 GB
MBX-0002 Ex003 55.5 GB
MBX-0003 Ex003 33.8 GB
MBX-0004 Ex003 89.1 GB
MBX-0005 Ex003 89.3 GB
MBX-0006 Ex003 45.5 GB
【SharePoint 2010】 InfoPath フォームに SOAP Web サービスを利用して、個人情報をフォームに自動入力する
【SharePoint 2010】 InfoPath 2010 (2013) を利用したアンケートフォームの作成方法 (の続き)
[目的]
前回作ったものを少しカスタマイズします。
[残案件]
・投稿者は、自分のアイテムしか閲覧できない。(http://exchange-sharepoint.hatenablog.jp/entry/2015/12/02/202817 で済)
・個人情報をプロファイルから自動取得 (http://exchange-sharepoint.hatenablog.jp/entry/2015/11/22/155057 が関連)
・Webフォームで保存や印刷などを禁止にする。
・配送先を、ドロップダウンボックスにする。
・部数を、半角数字のみ入力を許可する。
[今回]
とゆーことで、フォーム起動時に、プロファイルから情報を取得し表示させます。
すでに、関連で検証しているので改めて手順を纏めるだけです。
[手順]
1. ShrePoint 2010 のプロファイルサービスから、対象の情報が取得できているかを確認
1-1. [サーバーの全体管理]-[アプリケーション構成の管理]-[サービスアプリケーションの管理] をクリックし、[User Profile Services Application] をクリックする。
1-2. [ユーザー プロファイルの管理] をクリック
1-3. プロファイルの検索から、ユーザーを検索し、[個人用プロファイルの編集] をクリックする。
1-4. ユーザープロパティのフィールド一覧が表示されますので、値が入っている項目は取得可能です。氏名、部署、役職は既定で入っているので、従業員番号だけ ActiveDirectory または、SQL サーバーから同期する必要があります。
2. 従業員番号をプロパティに登録します。
2-1. [ユーザープロパティの管理] をクリックします。
2-2. [新しいプロパティ] をクリックします。
2-3. 各項目を修正します。
名前: Code ※ShrePoint側でもつ内部コードです。Infopathから取得するときにここを指定します。
表示名: 従業員番号 ※適当に
ソースへのデータ接続: Active Directory Connection
属性: AD上に属性を指定 (今回は、extensionAttribute1) を使用
方向: インポート
2-4. プロパティ一覧に登録されたことを確認
2-5. ユーザープロファイルを再同期
3. InfoPathから取得する属性名を確認する。
3-1. [ユーザープロパティの管理] をクリックします。
3-2. [プロパティ名] から取得したいものを探し、右クリック [編集] をクリックします。表示された [名前] が SharePoint 側の属性名となります。
名前:PreferredName
部署:Department
役職:Title
従業員番号:Code
※一覧にある [マップされた属性] は AD 側の属性名です。
4. InfoPath 側で設定します。まずは、Webサービスの接続を作成します。
4-1. 前回つくったInfoPathフォームをデザイナーで開きます。
4-2. [Web サービス] から [SOAP Web サービス] をクリックします。
4-3. [SOAP Web サービス定期の場所を入力してください] にサイトコレクションのURLを入力し、[次へ]
サイトコレクション: http://sps01.55/sites/test
ドキュメントライブラリ: http://sps01:55/sites/test/DocLib/
入力値: http://<サイトコレクション>/_vti_bin/userprofileservice.asmx?WSDL
※userprofileservice を利用して情報を取得
4-4. [GetUserProfileByName] を選択肢、[次へ]
4-5. 既定のまま、[次へ]
4-5. 既定のまま、[次へ]
4-6. 既定のまま、[完了]
※ フォームを開くときに自動的に取得し、入力するのでここは☑をいれておく。
5. 各フィールドに、Webサービスで取得したデータを設定します。
5-1. "所属部署" ボックスを右クリックし、プロパティを開きます。
5-2. "fx" ボタンをクリックします。
5-3. [フィールドまたはグループの挿入]をクリックし、[フィールド] から "GetUserProfileByName (セカンダリ)" を選択し、下記の [myFields]-[dataFields]-[....]-[Value] を選択肢、[データのフィルター] をクリックします。
5-4. [追加] をクリックします。
5-5. [value] をクリックし、[フィールドまたはグループの選択...] をクリックします。
5-6. [Name] を選択し、[OK] をクリックします。
5-7. 続いて、右側の空欄を選択し、[文字列の入力...] をクリックします。
5-8. [3-2 で取得] した Department を入力し、[OK] を4回クリックします。
5-9. 下記のように設定されたことを確認し、他の氏名、役職、従業員番号についても同様設定を行ないます。
※部署
※従業員番号
※役職
※氏名(名前)
6. 再度発行し、Chrome から確認します。
以上です。
【SharePoint 2010】 InfoPath 2010 (2013) を利用したアンケートフォームの作成方法
SharePoint 2010 に既定で提供されいているアンケート機能では、カスタマイズが難しく、また、機能も多く無いためアンケート作成者にとっても、回答者にとっても使いずらい。もちろん、シンプルアンケートであれば管理者を返さず、ユーザーのみでアンケートを作成し、情報を収集できるため便利なことは間違いない。
下記のような使い分けを検討する。
✅ 既定のアンケート
・質問数が少ない
・ページ遷移、分岐ロジックを使用しない
・ファイルを添付する必要が無い
✅ InfoPath フォームアンケート
・質問数が多い
・表形式で回答したい
・ページ遷移、分岐ロジックを使いたい
・ファイルも添付したい
とゆーことで、まずは、一般的なInfoPath フォームアンケートを作ってみる。
✅ 前提条件
・InfoPath をインストールしていないユーザーもいるため Web (IE、Chrome) で回答できるように、Web ブラウザ フォーム で作成する。
・既定の機能だけ実施し、コード署名証明書を利用しないフォームを作成。
・IE の [セキュリティ] で [ローカル イントラネット] に登録されている SharePoint サイトに作成する。
・IE の [プライバシー] で [すべての Cokke をブロック] になっていないこと。
✅ 検証手順
1. InfoPath Designer 2013 (2010) を起動します。※ 画像は 2013 のものです。2010でも試しましたが変わりはないです。
2. [空白のフォーム] をダブルクリックします。
3. 表示されたフォームを以下のように修正してみます。
※ 表の挿入や、コントロールからボタンを追加しただけです。
4. 入力箇所は、併せて、10 箇所あるのでフィールドに追加していきます。
4-1 [フィールド] から [追加] をクリックします。
4-2. 名前に [所属部署] と入力し、[OK] をクリックします。
4-3. これを、すべての項目に対して実行します。※ ここで入力した名前は SharePoint のライブラリの列名として登録されます。
5. 各項目に作成したフィールドをバインドします。
5-1. 所属部署にカーソルを合わせます。
5-2. 上記の状態で、[マイフィールド] の [所属部署] を右クリックし、[テキストボックス] を選択します。※ 今回は全て、テキストボックスですが、適宜他のボックスも使ってください。
5-3. 下記のように、バインドされます。そして、これをすべての項目に対して実施します。
5-4. この状態で [プレビュー画面] をクリックして、各項目に入力できるか確認します。
5-5. 下記のように 10 箇所入力できる欄が表示されていればOKです。
6. [ファイル]-[フォームの詳細オプション] より、[互換性] を選択します。
7. [フォームの種類] で "Web ブラウザ フォーム (InfoPath 2010)" を選択します。
※ SharePoint 2010 は、InfoPath 2010 フォームである必要があるため。
8. SharePoint 2010 サイト上に、InfoPath ライブラリフォームを発行します。
8-1. [ファイル]-[フォームの発行]-[ShrePoint ライブラリへフォームを発行] をクリックします。
8-2. サイトのURL を入力し、[次へ] をクリックします。
サイト名: http://sps01:55/sites/test/
私の場合は、55のWebアプリケーションに、test サイトコレクションを作っています。
8-3. 既定で以下のようになっていると思いますので、そのままで [次へ]
8-4. [新しいフォームライブラリ] を作成するで、[次へ]
8-5. ライブラリ名を [カレンダー申し込み] とし、[次へ]
8-6. 列をここで作成します。[追加]から下記のように設定し、[OK] をクリックし、列名を追加していきます。全部の項目を追加したら、[次へ]
8-7. 確認画面がでるので、[発行] をクリックします。
8-8. もし、下記のように、Webブラウザで開けませんとの互換性がないですよ。という警告が出た場合は、改めて、Sharepoint と フォームの種類が同じバージョンか確認してください。下記は、InfoPath 2013 で作成した状態で、ShrePoint 2010 に発行すると出力されますが、フォームの種類で、Infopath 2010 を選択することで回避できみあす。
9. 発行した URL にアクセスします。
10. [ドキュメントの追加] をクリックすると、フォームが開きます。
※ InfoPath で開いてしまう場合は、ライブラリの設定から、[ブラウザで開く] に設定が入っていることを確認します。多くのSharePoint ではサイトコレクション側で、既定でクライアントアプリケーションで開くに設定が入っているかと思います。
11. また、[回答] ボタンを設定してないのでこれから設定してきます。
11-1. [データ]-[SharePoint ライブラリ] をクリックします。
ドキュメントライブラリ: <先ほど作ったライブラリのURL>を記載します。
ファイル名: ライブラリに投稿するさいのファイル名を決めます。
[設定]
ドキュメントライブラリ: http://sps01:55/sites/test/DocLib/
ファイル名: concat("カレンダー", 従業員番号)
11-2. [数式の確認] からエラーがないことを確認します。
11-3. 下記のように設定し、[次へ] をクリックします。
11-4. 既定のまま、[完了] をクリックします。
12. ボタン押した時のルールを設定します。
12-1. [回答] ボタンをクリックし、[ホーム]-[ルールの追加]-[このボタンがクリックされたとき]-[データの送信] をクリックします。
12-2. データ接続が、先ほど作った "接続名" であることを確認し、[OK] をクリックします。
12-3. データを送信した後、フォームを閉じる設定をいれるため、先ほど作った規則から [追加]-[フォームを閉じる] をクリックします。
12-4. 既定のまま、[OK] とします。
13. 再度発行します。
14. 発行が完了したら、URLにアクセスします。
15. 試しに、投稿してみます。(Chrome です。)
16. 投稿が確認できました。
今回は以上です。
次回は以下の設定について記載します。
・Webフォームで保存や印刷などを禁止にする。
・配送先を、ドロップダウンボックスにする。
・部数を、半角数字のみ入力を許可する。
・投稿者は、自分のアイテムしか閲覧できない。(http://exchange-sharepoint.hatenablog.jp/entry/2015/12/02/202817 で済)
・個人情報をプロファイルから自動取得
【SharePoint 2010】 ドキュメントライブラにアイテム投稿後、ワークフローで投稿者のみに権限付与したい
InfoPath 2010 でアンケートを収集することにした。
フォームライブラリだと、リストのように、投稿者のみに閲覧/編集権限を付与する以下の設定が無い。
[sample]
ユーザー本人が作成したアイテムだけに [作成/編集] のアクセス権を付与するには、投稿後にアクセス権区切るしかない。方法としては、ワークフローとイベントレシーバーがあるが今回は、ワークフローで試す。
[検証手順]
1. InfoPathデザイナーで適当にフォームを作成する。
2. 作成したフォームを SharePoint 2010 に発行する。
3. 作成したフォームに権限を削除するワークフローする。
ここを詳細に記載
3-1. 作成したライブラリに接続する。
3-2. 以下の [ライブラリを編集] するから、SharePoint Degsiner 2010 を起動する。
※このライブラリへの管理者権限があるユーザーで起動ください。
3-3. [リストワークフロー] をクリックします。
3-4. [名前] を適当にいれて、[OK] をクリックします。
3-5. 表示された画面で、[代理ステップ] を追加し、[ステップ1] を削除します。
[最初]
[代理ステップ追加後]
3-6. [アクション] から [リスト アイテムのアクセス許可を削除] を選択します。
3-7. [このリスト] をクリックし、[現在のアイテム] を選択します。
3-8. [これらのアクセス許可] をクリックし、以下のように設定します。
権限を削除するユーザー: アンケート回答者グループ
削除する権限: 投稿
※対象のライブラリに "アンケート回答者グループ" という名前で、投稿権限を付与してます。
3-9. [発行] します。
3-10. 下記の警告がでまsがう、[OK] します。
このワークフローを発行することにより、代理ステップ内の条件とアクションが、作成者の資格情報を使用して実行されます。この点が想定されている場合のみ、続行してください。
3-11. [アイテムが作成されたときにワークフローを自動的に開始する] にチェックをいれ、再度発行します。
4. ライブラリにアクセスすると、以下のように [ワークフロー名] の列名が追加されます。試して、アイテムを投稿します。
5. [アンケート回答者グループ] の権限が消えてることが確認できます。
これで、システム管理者のみ閲覧可能になります。
投稿者にだけ権限を付与したり、修正させたりしたい場合は、ワークフローで投稿者のみに、権限を付与することも可能です。(以下参照)
以上です。
【SharePoint 2010】 カスタムしたリストテンプレートを PowerShell で作成
[目的]
作成したリストテンプレートをPowerShellのコマンドで実行したい。
[調査]
まずはリストテンプレートギャラリーから取得できるか試してみる。
$web = Get-SPWeb "<サイト>"
$list = $web.Lists["リスト テンプレート ギャラリー"]
$listtemplate = $list.Items
上記でとれたようにみえるが、$listtemplate[<テンプレート>] で取得できない。。。
ちゃんと、msdn見ながらじゃないとだめだ。
下記のような記述がある。
https://msdn.microsoft.com/ja-jp/library/microsoft.sharepoint.spsite.getcustomlisttemplates(v=office.12).aspx
つまり、以下でいける。
$web = Get-SPWeb "<サイト>"
$rootweb = $web.Site.RootWeb
$listtemplates = $web.Site.GetCustomListTemplates($rootweb)
$listtemplates["<リストテンプレート名>"]
よし、とれた。
あとは、add で作成するだけ。
[作成]
$web = Get-SPWeb "<サイト>"
$rootweb = $web.Site.RootWeb
$listtemplates = $web.Site.GetCustomListTemplates($rootweb)
$web.Lists.Add("テスト", "テストです", $listtemplates["<リストテンプレート名>"])
以上で完成。