FC2ブログ
MSLabo: MCP取得や実務用に自宅でWindowsサーバを検証・自習してます&たまに日記
自宅サーバにて、Windows 2008, MSCS, Active Directory, Exchange, Sharepoint, System Center(SCCM, SCOM, FCS), SQL Serverの自習、検証をした内容を記載していきたいと思います。
IE6.0「httpエラーメッセージを簡易表示する」をグループポリシーで管理(adm)
2010年03月13日 (土) 12:12 | 編集
こちらの設定をコンピュータポリシーで管理したいということで、
IE7.0用のadmファイルを元にカスタムテンプレートを作成しました。

「httpエラーメッセージを簡易表示する」を無効化 → 英語
= 「Turn off friendly http error messages」

有効化するとこんな感じに


・IE7.0用のadmファイル
Administrative Templates for Internet Explorer 7 for Windows

以下、作成したadmファイルの内容

CLASS MACHINE

CATEGORY !!WindowsComponents
CATEGORY !!InternetExplorer
CATEGORY !!InternetSettings
CATEGORY !!Advanced
KEYNAME "Software\Policies\Microsoft\Internet Explorer\Main"

POLICY !!FriendlyErrorText
#if version >= 4
SUPPORTED !!SUPPORTED_IE7
#endif
EXPLAIN !!FriendlyErrorText_Explain
VALUENAME "Friendly http errors"
VALUEON "no"
VALUEOFF "yes"
END POLICY

END CATEGORY ; Advanced
END CATEGORY ; InternetSettings
END CATEGORY ; Internet Explorer
END CATEGORY ; WindowsComponents

[strings]
WindowsComponents="Windows コンポーネント"
InternetExplorer="Internet Explorer"
InternetSettings="インターネット コントロール パネル"
Advanced="[詳細設定] ページ"
FriendlyErrorText="Turn off friendly http error messages"
FriendlyErrorText_Explain="This policy setting specifies whether, when there is a problem connecting with an Internet server, to provide a detailed description with hints about how to correct the problem. If you clear this check box, you will see only the error code and the name of the error.\n\nIf you enable this policy setting, when there is a problem connecting with an Internet server, the user will not get a detailed description or hints about how to correct the problem. The user cannot change this policy setting.\n\nIf you disable this policy setting, when there is a problem connecting with an Internet server, the user will get a detailed description with hints about how to correct the problem. The user cannot change this policy setting.\n\nIf you do not configure this policy setting, the user can turn on or off friendly http error messages."
SUPPORTED_IE7="At least Internet Explorer 7.0"

メッセージはあえて追加したものだとすぐ分かるよう英語のままでいいかと
コピペするとスペースとタブの段組が無くなってしまってますな、お好みでつけてください~


Supported IE7.0ということでIE6.0で使った場合の保証はできませんので、あしからず
親グループにネストされたグループに所属するユーザを検索、一覧にするVBScript
2010年02月28日 (日) 16:36 | 編集
元ネタはこれ
List All Members of a Grouo, Including Members of Nested Groups

そのままコピペしても52行目でエラーが出て動かなかったため、修正
&結果をcsvとしたかったため、出力をカンマ区切りにしたものが以下

.vbsで保存して、「cscript ファイル名.vbs 調査したいGroup名」
で使います。グループに大量にグループがネストされていたり、何階層にもなっている場合に便利



Option Explicit

'Get all member of a group INCLUDING members from ALL NESTED groups.
'Simply call the script with the samAccountName of the group.
'If the group name contains spaces it should be ENCLOSED IN QUOTES,
'IE scriptName.vbs "DOMAIN ADMINS"

Dim objGroup


'VERIFY A GROUP NAME WAS PASSED
If wscript.arguments.count <> 1 Then
wscript.echo "NO GROUP PASSED"
wscript.echo "Usage: scriptName "
wscript.quit
End If


'BIND TO THE GORUP
Set objGroup = getGroup(wscript.Arguments(0))


'ENUMERATE THE GROUPS MEMBERS
enumMembers objGroup, ""



Function getGroup(strGroupName)
Dim objConn, objRecSet, strQueryString, objRootDSE, strQueryFrom
Const adsOpenStatic = 3


Set objRootDSE = GetObject("LDAP://RootDSE")
strQueryFrom = "LDAP://" & objRootDSE.get("defaultNamingContext")

Set objConn = wscript.CreateObject("ADODB.Connection")
objConn.Provider = "ADsDSOObject"
objConn.Open

strQueryString = "SELECT AdsPath FROM '" & strQueryFrom & "' " & _
"WHERE samAccountName = '" & strGroupName & "'"

Set objRecSet = wscript.CreateObject("ADODB.Recordset")

objRecSet.Open strQueryString, objConn, adsOpenStatic

If objRecSet.recordCount = 1 Then
Set getGroup = GetObject(objRecSet("AdsPath"))
Else
wscript.echo ucase(strGroupName) & " was not found in the domain. (" & objRootDSE.get("defaultNamingContext") & ")"
wscript.quit
End If
End Function


Sub enumMembers(byRef objGroup, strInheritedFrom)
Dim objMember

For Each objMember In objGroup.Members
If lcase(objMember.class) = "group" Then
enumMembers objMember, objMember.samAccountName
Else
If objMember.displayname <> "" Then
If strInheritedFrom = "" Then
wscript.echo objMember.displayname
Else
wscript.echo objMember.samAccountName &","& objMember.displayname & "," & _
strInheritedFrom & ")"
End If
Else
If strInheritedFrom = "" Then
wscript.echo objMember.samAccountName
Else
wscript.echo objMember.samAccountName & " (From NESTED GROUP: " & _
strInheritedFrom & ")"
End If
End If
End If

Next
End Sub

長らくネットワークに繋げてなかったPCがドメインから抜ける?(ドメインログオンできない)場合の対処法
2010年02月04日 (木) 10:15 | 編集
長期間倉庫なんかで保管してて、久々に使ったらドメインログオンできないと

http://support.microsoft.com/kb/216393/ja

そんなときはこれらしい
セキュリティチャネルの期限が切れる(30日と思ってたけど→60日?)からリセットせんといかんと
セキュリティログの監査イベント イベントIDの一覧の参考URL
2009年12月10日 (木) 12:59 | 編集
セキュリティログの監査イベント イベントIDの一覧の参考URL

以下のMSエバの方のブログに便利そうな一覧がぴよぴよ

http://blogs.technet.com/junichia/archive/2008/01/11/2008-id.aspx

ちょうど、セキュリティログからあるイベントIDのエントリを取得するような
VBSを作っていて、その取得するIDの情報がここを見れば、一目でわかって便利。

ユーザの作成やアカウントロックはイベントIDいくつとか、そういうこと

FC2 サーバカテゴリランキングを見る にほんブログ村 IT技術ブログ Windowsサーバカテゴリランキングを見る ブログセンタ Windowsランキングを見る BLOG RANKING サーバー構築・運用ブログランキングを見る
dsadd userで複数グループのメンバにしてユーザ追加
2009年09月14日 (月) 12:43 | 編集
コマンドのメモサンドイッチ

dsadd user cn=xxxxx,ou=かんとか,ou=なんとか,dc=xxxxx,dc=local -upn xxxxx@xxxxx.local -samid xxxxx -display 表示名 -desc 説明 -memberof cn=Group1,ou=かんとか,ou=なんとか,dc=xxxxxx,dc=local cn=Group2,ou=かんとか,ou=なんとか,dc=xxxxxx,dc=local -pwdneverexpires yes -canchpwd no -pwd ユーザのパスワード

パスワード無期限: Yes
パスワード変更: できない

FC2 サーバカテゴリランキングを見る にほんブログ村 IT技術ブログ Windowsサーバカテゴリランキングを見る ブログセンタ Windowsランキングを見る BLOG RANKING サーバー構築・運用ブログランキングを見る
イベントログ ソース:NETLOGON ID:5807の警告の対応方法
2009年09月07日 (月) 16:00 | 編集
クライアントPCからのログオン要求が処理される際に
サブネットの定義がない、またはサブネットが存在するが、所属するサイトが
判別されなかった場合に、以下の警告が表示されるようです食パン

イベントの種類: 警告
イベント ソース: NETLOGON
イベント カテゴリ: なし
イベント ID: 5807
日付: 2009/09/07
時刻: 11:39:42
ユーザー: N/A
コンピュータ: //サーバ名//
説明:
IP アドレスがエンタープライズの既存のどのサイトにもマップされていないクライアント
コンピュータからこのドメイン コントローラにここ 4.13 時間で 11 個の接続がありま した。
これらのクライアントは、サイトが定義されていないので、任意のドメイン コント ローラに接続されます。
クライアントから離れた場所にあるドメイン コントローラに接 続される可能性もあります。
クライアントのサイトは、サブネットと既存のサイトの マッピングによって決定されます。
--以下省略--

C:\Windows\Debug フォルダ内のnetlogon.logを参照すると、「NO_CLIENT_SITE:」と
いうログとともにログオンにきたクライアントPCの情報が記載されています。

このIPアドレスがサブネットとしてきちんと登録されているか確認することで対応します。
設定したDNSサフィックスが名前解決時に追加されない(XP)
2009年08月27日 (木) 20:06 | 編集
えー、今日はサーバ設定を変更したあと、ユーザが業務サーバにつながらないという
事態を起こしてしまいまして、、っていうほどのインパクトはなかったのですが、

クライアントのDNSサフィックスにグループポリシーで以下のように設定していました。

1xxxx.local
2xxxxxx.local
3xxx.local

3のサフィックスを追加して名前解決してほしいのに、
ping サーバ名
とした際に、追加してくれませんkao05
昨日までOKだったんですが。。

ipconfig /all でみてもサフィックスに出てきてるやないかーい
なんで、悩んだ結果

DNSサフィックス追加順序で順番に名前解決が試された場合、そのサフィックスの
ドメイン名がないとその時点で次のサフィックスを追加して名前解決を試さないようで、、

本日、2のドメインのセカンダリゾーンを名前解決に使っているDNSサーバから消してしまっていました絵文字名を入力してください

そうすると2のサフィックスを試してNGだと3のサフィックスを試さず終わるようで、
クライアントのDNSサフィックスから2を削除して解決

意外と知られていないんでないでしょうか。。勉強になりましたアップロードファイル
優先ブリッジヘッドサーバは設定しちゃダメ~ らしい
2009年08月25日 (火) 21:54 | 編集
ちょいとMSの方と話す機会がありまして、
自分、勘違いしてましたが、ADのサイト設定で「優先ブリッジヘッドサーバ」
は設定しない方がいいらしい注意書き

なぜかというと、優先ブリッジヘッドサーバ指定していると、
優先ブリッジヘッドサーバが落ちると、自動でほかのサイト内のDCに
ブリッジヘッドサーバが切り替わらないらしい

ということで、サイトで優先ブリッジヘッドサーバは指定しない方がいいとぴよぴよ
そうすればブリッジヘッドサーバが落ちても、ISTGが自動で他のサイト内のサーバを
ブリッジヘッドサーバにしますということらしい

優先ブリッジヘッドサーバ指定してても、そのサーバが通信できなくなったり
落ちたりしたのが判断できれば手動で他のサーバに切り替える運用ができればいいんですがね

Windows 2003環境前提での話ですので、あしからず。2008でも変わらんとは思いますが。。

FC2 サーバカテゴリランキングを見る にほんブログ村 IT技術ブログ Windowsサーバカテゴリランキングを見る ブログセンタ Windowsランキングを見る BLOG RANKING サーバー構築・運用ブログランキングを見る
ドメイン内のユーザとグループ数をカウントするVBS
2009年08月24日 (月) 16:40 | 編集
以下のようなVBSでユーザ数をカウントできましたkao04 ので記録

Set objConnection = CreateObject("ADODB.Connection")
objConnection.Open "Provider=ADsDSOObject;"
Set objCommand = CreateObject("ADODB.Command")
objCommand.ActiveConnection = objConnection
objCommand.Properties("Page Size") = 200000

objCommand.CommandText = _
"GC://dc=xxxxx,dc=local>;(objectCategory=User)" & _ 'GCの前に< が入ります(blogの表示上記載できず)
";distinguishedName;subtree"
Set objRecordSet = objCommand.Execute

intCounter = 0
Do Until objRecordset.EOF

intCounter = intCounter + 1
WScript.Echo intCounter

objRecordset.MoveNext
Loop

WScript.Echo "Total: " & intCounter & " Users in Domain"

■MEMO
objCommand.Properties("Page Size") = 200000
は結果を返すオブジェクト数のMAX指定(と思う)

";(objectCategory=User)"
グループのときは=Groupを指定。
OUまで指定するときは、GC://ou=xxxx,ou=xxxxxx,dc=xxxxx,dc=local
のように記載

FC2 サーバカテゴリランキングを見る にほんブログ村 IT技術ブログ Windowsサーバカテゴリランキングを見る ブログセンタ Windowsランキングを見る BLOG RANKING サーバー構築・運用ブログランキングを見る
Active Directory管理センター(Windows 2008 R2新機能)
2009年08月23日 (日) 10:04 | 編集
Powershell Active Directory モジュールを活用しよう!!より

便利そうな新機能が、、
今までは(つうか今も)AD上の無効なユーザを全部拾ったりするのに
自前でVBS書いたりしてますが、これ使えれば、GUIの標準機能でできるようですねバス

2008 ADにした~い

FC2 サーバカテゴリランキングを見る にほんブログ村 IT技術ブログ Windowsサーバカテゴリランキングを見る ブログセンタ Windowsランキングを見る BLOG RANKING サーバー構築・運用ブログランキングを見る
Windows 2008 グループポリシーの新機能
2009年08月23日 (日) 09:55 | 編集
マイクロソフトのServerチームブログに以下の記事を見つけました
これ、結構使えます。グループポリシー基本設定

こんなケースを実現。
「社長の有り難いメッセージが掲載された社内のポータルサイトを、ユーザーが自分の PC にログオンしたら、一度だけブラウザを立ち上げて表示させたい。 」

いいですねコリラックマ
こういう最新の技術使うような仕事したいなぁ~

FC2 サーバカテゴリランキングを見る にほんブログ村 IT技術ブログ Windowsサーバカテゴリランキングを見る ブログセンタ Windowsランキングを見る BLOG RANKING サーバー構築・運用ブログランキングを見る
ADMT 3.0を使用した移行についてMEMO
2009年08月23日 (日) 09:23 | 編集
ユーザアカウント、プロファイル、コンピュータアカウントを
Windows 2003ドメイン間で移行作業しています。

その際に起きた現象などについてMEMOサンドイッチ

■コンピュータアカウントをドメイン間移行時に再起動後、
「ADSIプロパティキャッシュが見つからない。。」うんぬんのエラーが表示され
再起動後のステータスが表示できない

→移行先ドメインのDNSにクライアントPCのレコードが登録されていないため
 とMSのサポートから回答があったが、事前に手動登録しておいてもNG。。

■コンピュータアカウントをドメイン間移行時に再起動後、
DNSへ動的更新にてレコードが登録されない

→ADMT 3.0ではどうやらそうなってしまうとMSサポートから回答
 もう一回再起動してくださいって言われました

なんじゃい、、それはと無表情。

FC2 サーバカテゴリランキングを見る にほんブログ村 IT技術ブログ Windowsサーバカテゴリランキングを見る ブログセンタ Windowsランキングを見る BLOG RANKING サーバー構築・運用ブログランキングを見る
TechNet Script Center Galleryにスクリプトがいっぱい
2009年08月17日 (月) 14:59 | 編集

安納さんの「【Script】サンプルスクリプトはここにある!」
より
「スクリプト好きにはおなじみ、Script Centerですが、、」
すみませんが、私はそんな好きではないですが、おなじみです絵文字名を入力してください

・Welcome to the TechNet Script Center Gallery
・いつも見ているスクリプト一覧(もまだありますね、よかった)

マニアックな外人さんエンジニアがアップしたスクリプトは
いいのが見つけられれば、相当使えそうっすね~ 期待してますメタルスライム

FC2 サーバカテゴリランキングを見る にほんブログ村 IT技術ブログ Windowsサーバカテゴリランキングを見る ブログセンタ Windowsランキングを見る BLOG RANKING サーバー構築・運用ブログランキングを見る
ある特定のOU以下のユーザアカウントを無効化/有効化する
2009年08月10日 (月) 20:27 | 編集
AD上のユーザを特定のOU以下にいるユーザはすべて無効にする、また
あるOU以下のユーザはすべて有効化する必要があり、対象OUを設定ファイルに
記述することでそのOUを対象に動作するVBScriptを作りました食パン
つっこみどころ満載かと思いますが、まずは動いたので、OK牧場

■OU指定ファイル(例) "C:\ADUserMng\aduser_disableToEnable_OU.txt"
GC://ou=xxxxxxx,ou=xxxxxx,ou=xxxx,,dc=xxxxx,dc=local
GC://ou=xxxxxxx,ou=xxxxxx,dc=xxxxx,dc=local
GC://ou=xxxxxxx,ou=xxxxxx,dc=xxxxx,dc=local

■無効化されたユーザがいればすべて有効にするVBScript
On Error Resume Next

Const ADS_UF_ACCOUNTDISABLE = 2

Dim objFSO ' FileSystemObject
Dim objFile ' ファイル読み込み用
Dim objOUFile ' OU指定ファイル用

objOUFile = "C:\ADUserMng\aduser_disableToEnable_OU.txt"

Set objConnection = CreateObject("ADODB.Connection")
objConnection.Open "Provider=ADsDSOObject;"
Set objCommand = CreateObject("ADODB.Command")
objCommand.ActiveConnection = objConnection

Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")
If Err.Number = 0 Then

Set objFile = objFSO.OpenTextFile(objOUFile)
If Err.Number = 0 Then
Do While objFile.AtEndOfStream <> True
objGCName = objFile.ReadLine
WScript.Echo objGCName & "----------OU以下の処理を開始します。"
'WScript.Echo objGCName

objCommand.CommandText = _
"<"&objGCName&">;(objectCategory=User)" & _
";userAccountControl,distinguishedName;subtree"
Set objRecordSet = objCommand.Execute

intCounter = 0
Do Until objRecordset.EOF
intUAC=objRecordset.Fields("userAccountControl")
If intUAC AND ADS_UF_ACCOUNTDISABLE Then
WScript.echo objRecordset.Fields("distinguishedName") & " が無効化されています。"

strUser = objRecordset.Fields("distinguishedName")
Set objUser = GetObject("LDAP://" & strUser)
objUser.Put "userAccountControl", intUAC XOR ADS_UF_ACCOUNTDISABLE
objUser.SetInfo
WScript.echo strUser & " を有効化しました。"

intCounter = intCounter + 1
End If
objRecordset.MoveNext
Loop

WScript.Echo VbCrLf & objGCName & "----------OU以下の処理を終了しました。"
WScript.Echo VbCrLf & "トータル " & intCounter & " のユーザアカウントを有効化しました。"

Loop
objFile.Close
Else
WScript.Echo "ファイルオープンエラー: " & Err.Description
End If
Else
WScript.Echo "エラー: " & Err.Description
End If

Set objFile = Nothing
Set objFSO = Nothing

objConnection.Close

■有効化されたユーザがいればすべて無効にするVBScript
On Error Resume Next

Const ADS_UF_ACCOUNTDISABLE = 2

Dim objFSO ' FileSystemObject
Dim objFile ' ファイル読み込み用
Dim objOUFile ' OU指定ファイル用

objOUFile = "C:\ADUserMng\aduser_enableToDisable_OU.txt"

Set objConnection = CreateObject("ADODB.Connection")
objConnection.Open "Provider=ADsDSOObject;"
Set objCommand = CreateObject("ADODB.Command")
objCommand.ActiveConnection = objConnection

Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")
If Err.Number = 0 Then

Set objFile = objFSO.OpenTextFile(objOUFile)
If Err.Number = 0 Then
Do While objFile.AtEndOfStream <> True
objGCName = objFile.ReadLine
WScript.Echo objGCName & "----------OU以下の処理を開始します。"

objCommand.CommandText = _
"<"&objGCName&">;(objectCategory=User)" & _
";userAccountControl,distinguishedName;subtree"
Set objRecordSet = objCommand.Execute

intCounter = 0
Do Until objRecordset.EOF
intUAC=objRecordset.Fields("userAccountControl")
If intUAC XOR ADS_UF_ACCOUNTDISABLE Then
WScript.echo objRecordset.Fields("distinguishedName") & " が有効化されています。"

'intUAC AND ADS_UF_ACCOUNTDISABLE 無効状態

strUser = objRecordset.Fields("distinguishedName")
Set objUser = GetObject("LDAP://" & strUser)
objUser.Put "userAccountControl", intUAC OR ADS_UF_ACCOUNTDISABLE
objUser.SetInfo
WScript.echo strUser & " を無効化しました。"

intCounter = intCounter + 1
End If
objRecordset.MoveNext
Loop

WScript.Echo VbCrLf & objGCName & "----------OU以下の処理を終了しました。"
WScript.Echo VbCrLf & "トータル " & intCounter & " のユーザアカウントを無効化しました。"

Loop
objFile.Close
Else
WScript.Echo "ファイルオープンエラー: " & Err.Description
End If
Else
WScript.Echo "エラー: " & Err.Description
End If

Set objFile = Nothing
Set objFSO = Nothing

objConnection.Close


動かなかったり、何かあっても当方は責任持てませんので、あしからずぴよぴよ

FC2 サーバカテゴリランキングを見る にほんブログ村 IT技術ブログ Windowsサーバカテゴリランキングを見る ブログセンタ Windowsランキングを見る BLOG RANKING サーバー構築・運用ブログランキングを見る
AD上のユーザ、グループを管理する際に役立ちそうなURLをMEMO
2009年08月04日 (火) 13:43 | 編集
ちょっとバッチやスクリプトでユーザ、グループ情報を取得したりしなくては
いけなくなり、WEB検索中に今後参考になりそうなURLがあったのでMEMO

バッチでfor文使ったりした場合の例として(バッチ苦手なんで。。)
ADSIの記述例とVBAからADSI、WMIを使う記述例

何となく目処立ってきたんで、よかった

FC2 サーバカテゴリランキングを見る にほんブログ村 IT技術ブログ Windowsサーバカテゴリランキングを見る ブログセンタ Windowsランキングを見る BLOG RANKING サーバー構築・運用ブログランキングを見る
Powered by . / Template by sukechan.