印刷用ページ       送信     
クリックして評価とフィードバックをお寄せください
TechNet
TechNet ライブラリ
テクニカルドキュメント
Deployment
デスクトップ展開
 Microsoft TechNet: ゼロ タッチ インストール展開チ...

  低帯域幅での表示をオンにする
ゼロ タッチ インストール展開チーム ガイド

付録 K : サンプル ストアド プロシージャ呼び出し

このページはアーカイブです。記載されている内容は情報提供のみを目的としており、ページ内のリンクは有効でない可能性がありますが、これらの情報についてマイクロソフトはいかなる責任も負わないものとします。

リスト 29 は、リスト 30 に示すサンプル Customsettings.ini ファイルの [DB_IdentifyComputer] セクションが呼び出す BDDAdminDB-IdentifyComputer.sql スクリプトを示したものです。

この例では、BDDAdminDB-IdentifyComputer.sql は以下の処理を実行します。

  • テーブル MachineNameSequence の作成   このテーブルの列は 表 54 に示すとおりです。


54.   MachineNameSequence テーブルの列とその説明

説明

Prefix

生成されるコンピュータ名の前半部分となるプレフィックス (例 : WRKSTA - 生成されたコンピュータ名が WRKSTA-00021 の場合)

Sequence

生成されるコンピュータ名の一連番号として最後に使用される番号 (例 : 00021 - 生成されたコンピュータ名が WRKSTA-00021 の場合)

  • IdentifyComputer ストアド プロシージャの作成   このストアド プロシージャは、一意のコンピュータ名を作成し、新しいコンピュータ名、MAC アドレス、ワークステーションのメーカー、およびワークステーションの型番によって AdminDB データベースを更新します。


メモ 新しいコンピュータ シナリオでは、OSDINSTALLPACKAGE 列と OSDINSTALLPROGRAM 列に (たとえば、渡されたメーカーと型番に基づいて) 値を自動的に挿入するロジックを IdentifyComputer ストアド プロシージャに追加することもできます。このスクリプトの現バージョンには、この機能は実装されていません。

use [BDDAdminDB]
GO

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[IdentifyComputer]') 
and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[IdentifyComputer]
GO

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[MachineNameSequence]') 
and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[MachineNameSequence]
GO


CREATE TABLE [dbo].[MachineNameSequence] (
[Prefix] [varchar] (50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
[Sequence] [int] NOT NULL 
) ON [PRIMARY]
GO

INSERT INTO [dbo].[MachineNameSequence] (Prefix, Sequence) VALUES ('PC', 0)
GO


SET QUOTED_IDENTIFIER ON 
GO
SET ANSI_NULLS ON 
GO


CREATE PROCEDURE [dbo].[IdentifyComputer]
@MacAddress CHAR(17),
@Make VARCHAR(50),
@Model VARCHAR(50)
AS

DECLARE @Cnt INT,
        @Prefix VARCHAR(50),
        @Sequence INT,
        @NewName VARCHAR(50)

SET NOCOUNT ON

/* See if there is an existing record for this machine */

SELECT @Cnt=COUNT(*) FROM BDDAdminCore
WHERE MacAddress = @MacAddress

/* No record?  Add one.  */

IF @Cnt = 0
BEGIN

    /* Create a new machine name */

    BEGIN TRAN

    SELECT @Prefix=Prefix, @Sequence=Sequence FROM MachineNameSequence
    SET @Sequence = @Sequence + 1
    UPDATE MachineNameSequence SET Sequence = @Sequence
    SET @NewName = @Prefix + Right('00000'+LTrim(Str(@Sequence)),5)

    /* Insert the new record */

    INSERT INTO BDDAdminCore (MacAddress, Make, Model, ComputerName, OSDNewMachineName, 
OSDInstallSilent, OSInstall) 
    VALUES (@MacAddress, @Make, @Model, @NewName, @NewName, '1', 'Y')

    COMMIT TRAN

END

/*  Return the record as the result set */

SELECT * FROM BDDAdminCore
WHERE MacAddress = @MacAddress


GO
SET QUOTED_IDENTIFIER OFF 
GO
SET ANSI_NULLS ON 
GO

リスト 29.  テーブルと IdentifyComputer ストアド プロシージャを作成する BDDAdminDB-IdentifyComputer.sql スクリプト

  .
    .
    .
[IdentifyComputer]
SQLDefault=DB_IdentifyComputer
 
[DB_IdentifyComputer]
SQLServer=SERVER1
Database=BDDAdminDB
StoredProcedure=IdentifyComputer
Parameters=MacAddress, Make, Model

リスト 30.   Customsettings.ini ファイルの IdentifyComputer ストアド プロシージャを呼び出すセクション


目次


ダウンロード

Cc824860.icon_exe(ja-jp,TechNet.10).gifSolution Accelerator for Business Desktop Deployment ガイド (Version 2.0)
25.8MB
圧縮した Word ファイル
最終更新日: 2005年10月3日


関連リンク
  • Deployment Center
    Active Directory をはじめ Windows XP Professional や Office 2003 Editions の効率的な展開方法をまとめたガイダンスを提供しています。

© 2009 Microsoft Corporation. All rights reserved. 使用条件 | 商標 | プライバシー
Page view tracker