WIN1@Codename

Codename

WSS3.0における全文検索について

WSS2.0まではSQLサーバーの提供する全文検索を用いて検索を行っていましたが、
(参考:Q2. SharePointのデータベースとしてSQL Serverを選択するメリットは?)
WSS3.0からは独自の検索エンジン Windows SharePoint Service Search が検索を担当しています。

マイクロソフトはいくつかの検索エンジンを持っていて、Windows SharePoint Service Search はそのうちの一つとなります。

これにより、これまでSQL Serverを用いないシステム設定(MSDEを使用した構成)では実現できなかった全文検索が可能となっています。

24.jpg

スタンドアローンの設定にてデフォルトでインストールされるSQL Server 2005 Embedded Edition(SSEE)。

以前のバージョンのMSDEに代わるもの。

25.jpg

Windows SharePoint Service Search によりデフォルトのスタンドアローン状態でも全文検索が可能に。

26.jpg

なお、現在Codenameにおきましては諸事情により検索ができない状態となっております。

まもなく検索機能も正常に提供できる予定ですのでしばらくお待ちください。


Windows SharePoint Services 3.0 アプリケーション テンプレート を追加いたしました

マイクロソフトより提供されている「Windows SharePoint Services 3.0 アプリケーション テンプレート」を追加いたしました。

これにより、サイト作成時に以下のテンプレートを利用して、これまで以上に使いやすいサイトを作成することができます。

ご利用になるには、サイト作成時に、「テンプレートの選択」項目から「アプリケーションテンプレート」を選択してください。
 template.jpg

テンプレートリスト(20種類):
・欠勤届および休暇スケジュール管理
・複数プロジェクト予算・進捗管理
・バグ データベース
・コール センター
・変更依頼管理
・法令遵守プロセス サポート サイト
・連絡先管理
・校閲用ドキュメント ライブラリ
・イベント企画
・経費精算・承認
・ヘルプ デスク
・在庫管理
・IT チーム ワークスペース
・求人・面接管理
・サポート技術情報
・貸出図書
・物的資産管理
・プロジェクト管理ワークスペース
・部屋・備品の予約
・潜在顧客管理


Windows SharePoint Services 3.0 アプリケーション テンプレート インストール方法

マイクロソフトより提供されている「Windows SharePoint Services 3.0 アプリケーション テンプレート」をダウンロードします。

ServerAdminTemplates.exe を実行し、アプリケーションテンプレートファイル(*.wsp)を解凍します。

アプリケーションテンプレートをWSSにインストールする為には、まず「ApplicationTemplateCore.wsp」をインストールする必要があります。

ApplicationTemplateCore.wsp は先ほど解凍したフォルダ内に含まれています。

stsadmin.exe を利用した ApplicationTemplateCore.wsp のインストール方法はこちらを参考にしてください。

例)
stsadm.exe -o addsolution -filename <ファイル パス>\ApplicationTemplateCore.wsp
stsadm.exe -o deploysolution -name ApplicationTemplateCore.wsp -allowgacdeployment -immediate

次に、各アプリケーションテンプレートをインストールしてゆきます。

こちらも、stsadmin.exe を利用してインストールを行います。

例えば、「ヘルプデスク」アプリケーションテンプレートをインストールする場合は

stsadm.exe -o addsolution -filename <ファイル パス>\HelpDesk.wsp

stsadm.exe -o deploysolution -allowgacdeployment -immediate -name HelpDesk.wsp

となります。

同様のコマンドを各テンプレートごとに実行します。

実行後、サイト作成時に、「テンプレートの選択」項目から「アプリケーションテンプレート」が追加され、アプリケーションテンプレートを利用したサイト作成が可能となります。


WSS3.0 SP1導入方法

WSS3.0にGoroupBoard Workspaceをインストールしている場合、SP1のインストールが失敗する問題があります。

この問題回避のためには、一度GoroupBoard Workspaceを削除したうえで、SP1を適用し、再度GoroupBoard Workspaceをインストールする必要があります。

http://support.microsoft.com/default.aspx/kb/941678/ja

GoroupBoard Workspace 削除時にこれまでのコンテンツが削除されてしまうのでは?といった懸念がありましたが、実際にKBの手順どおり行うことで問題なく元どおり参照することができます。

では、GoroupBoard Workspaceを完全に削除するには・・・?

といった疑問がありますが、GoroupBoard Workspace自体がもともとカスタムテンプレートのようなものなので、GoroupBoard Workspaceを削除=テンプレートの削除と同じことなので、コンテンツ自体はデータベース内に残ったままなのでは、と勝手に解釈しております。


WSS3.0における全文検索について 解決編

Codename開始以来、完全に提供できていなかった全文検索がようやく可能となりました。

こちら の記事でも触れましたが、WSS3.0の検索はこれまでと仕様が異なるため、インターネット上で使用するには問題があり、この問題解決のため、実に2年間の時間を要することになってしまいました。

ここで、WSS3.0の検索の仕組みを説明します。

こちら でも説明しましたが、WSS3.0では"SPSearch(Windows SharePoint Service Search)" が検索インデックスの作成を行います。 このサービスにより、WSSコンテンツ内の記事やドキュメントのインデックス(見出し)がSQLデータベース内に格納され、ユーザーの検索リクエストによって参照されることになります。

この、SPSearch=mssearch.exe はWSS内のコンテンツを直接参照してインデックスを集めてきます。 

当然、WSSのユーザーサイトは認証がかかっているため、mssearch.exe は管理権限を使用してユーザーサイトにログインしようとします。 この時にmssearch.exe は統合Windows認証のみ使用することができません。

社内で公開しているWSSのWebサーバーであれば統合Windows認証はもちろん推奨されるべき認証方法なのですが、Codenameのようにインターネット上に公開しているサーバーで使用されるのは、基本認証が一般的です。

その為、当初から基本認証でWSSのWebサーバーを公開していたCodenameでは、mssearch.exe がユーザーサイトにログオンできず、コンテンツインデックスを収集することができなくなっておりました。

これが、検索が当初出来なかった最大の原因です。

そこで、今度は、基本認証を使用しつつ、検索を実現する方法を探すこととなります。

かなりの時間を要しましたが以下の方法で実現可能となりました。

大まかな仕組みを説明しますと、ユーザーが使用するサイトはこれまで通り基本認証を使用して公開しつつ、mssearch.exe が参照するサイトは統合Windows認証でもう一つサイトを作成する、ということになります。

WSSはSQLサーバーに各サイトのコンテンツを格納しています。

このデータは必ずしも一つのサイトからの参照には限定されず、複数のサイトから参照することが可能です。

SQLサーバーに複数のWebサーバーからアクセスしてWebサーバーの負荷分散を実現できるのもこの仕様のためです。

では、具体的にどうサイトを構成するのか。

以下を参照してください。

1. WSS 側で新規 Web アプリケーションを以下の手順にて作成します。
1-1. “SharePoint 3.0 全体管理” にアクセスします。
1-2. “アプリケーションの構成の管理” をクリックします。
1-3. “Web アプリケーションの作成または拡張” をクリックします。
1-4. "既存の Web アプリケーションの拡張” をクリックし、search.com(例) を指定し、”新しい IIS Web サイトを作成する” を有効にします。
1-5. ポートを 443 に指定します。
1-6. 任意のホストヘッダーを指定します。
1-7. NTLM 認証に設定します。

2. IIS の管理コンソールから以下の設定を実施します。
2-1. 1.で作成された Web サイトのプロパティを開きます。
2-2. “ディレクトリ セキュリティ” タブを選択し、証明書をインポートします。
2-3. “Web サイト” タブの “詳細設定” をクリックし、80 の IP ヘッダーに ローカルIP アドレス(WSSWebサーバー)を指定します。

3. Web アプリケーションを拡張します。
3-1. “SharePoint 3.0 全体管理” にアクセスします。
3-2. “アプリケーションの構成の管理” をクリックします。
3-3. “Web アプリケーションの作成または拡張” をクリックします。
3-4. “既存の Web アプリケーションの拡張”  をクリックします。
3-5. 1. で使用した Web アプリケーションを指定して、”新しい IIS Web サイトを作成する” を有効にします。
3-7. NTLM 認証に設定します。
3-8. 任意のホストヘッダーを指定します。

4. 3. で作成した Web サイトを IIS 側で設定変更します。
4-1. 3.で作成された Web サイトのプロパティを開きます。
4-2. “Web サイト” タブの “詳細設定” をクリックし、80 の IP ヘッダーに 2. で指定した IP アドレスとは別の IP アドレス(インターネット用)を指定します。

5. WSS のサイトを作成します。
6. 3. で作成された Web サイトの “認証プロバイダ” を “基本認証” に設定します。

この手順でWebサーバー上には、ユーザーアクセス用の基本認証のサイトと、mssearch.exe 統合Windows認証のサイトが作成されます。

そして、最後に重要な点として、WSSのWebサーバー上にHostsファイルを使用してWSSのユーザーサイトのホスト名=ローカルIP(Webサーバー)を指定する必要があります。

これは、mssearch.exe がWSSのWebサーバー上で稼働する為、コンテンツ参照時には上記で使用したWebサーバーのローカルIPアドレスのサイト=統合Windows認証サイトにアクセスさせるためです。

WSSのユーザーは通常のDNSを利用してインターネットに公開されたサイト=基本認証サイト、にアクセスします。

Hostファイルを使用しる方法とは別に、mssearch.exe 専用のDNSサーバーを使用するといった大がかりな方法も可能です。

以上の方法により、インターネットに公開したWSS3.0において検索が可能となりました


メールボックスの削除 コマンドレッドバージョン

メールボックスの削除をコマンドレッドで一気に行いたい場合、以下のサンプルが使えます。

$DelList = get-content c:\DelList.txt

foreach($Account in $DelList) {Remove-Mailbox -Identity "$Account" -Permanent $true -Confirm:$false}

一行目は、$DelListに削除するアカウントを記載したテキストファイルを読み込みます。 テキストファイルには、アカウント名が一行ごとに記載されています。

例:

deltest01

deltest02

二行目では$DelListに読み込んだリストに対して、一行づつ Remove-Mailbox コマンドを実行します。

$Account に削除されるアカウントが毎回格納されることになります。

-Permanent $true スイッチで、ActiveDirectory内のアカウントとメールボックスの両方が削除されます。

-Confirm:$false このスイッチで削除時に出る確認メッセージをスキップします。

このコマンドの結果、ActiveDirectory内のアカウントは削除され、メールボックスには削除済みのマークが付けられ、一定期間の後に削除されます。

すぐにメールボックスも削除したい場合は、

$DelList = get-content c:\DelList.txt

foreach($Account in $DelList)
>>{
>>$Temp = Get-MailboxStatistics | Where {$_.DisplayName -eq "$Account"}
>>Remove-Mailbox -Database "<サーバー名>\First Storage Group\Mailbox Database" -StoreMailboxIdentity $Temp.MailboxGuid -Confirm:$false
>>}

このコマンドで削除が完了します。

ディスク容量の減少を確認するためには、一度再起動が必要です。


リモート コンピュータ用の内部トランスポート証明書の有効期限切れ

これまで安定稼働を続けていたExchangeサーバーに、先日メール受信不可となる障害が発生しました。

イベントログを見てみると、

ソース:MSExchangeTransport

分類:MSExchangeTransport

イベントID:12015

説明:内部トランスポート証明書の有効期限が切れています。

との警告が出ていました。

調べてみたところ、以下のKBが該当していました。

"リモート コンピュータ用の内部トランスポート証明書の有効期限が切れています"

http://technet.microsoft.com/ja-jp/library/bb218006(EXCHG.80).aspx

エラーの原因は、ExchangeがActiveDirectoryのストアを使用するための証明書の有効期限切れということです。

これによれば、コマンドレットで

New-ExchangeCertificate

を実行することで、新しい内部トランスポート証明書 が作成され問題が解消されます。

コマンド実行直後からたまっていたメールが配信されるようになりました。


FC2Ad