FC2ブログ
MSLabo: MCP取得や実務用に自宅でWindowsサーバを検証・自習してます&たまに日記
自宅サーバにて、Windows 2008, MSCS, Active Directory, Exchange, Sharepoint, System Center(SCCM, SCOM, FCS), SQL Serverの自習、検証をした内容を記載していきたいと思います。
特定の一般ユーザにアカウントロック解除を委任する
2010年05月14日 (金) 12:24 | 編集
ちょっと尋ねられたので調べた結果をMEMO

アカウントのロック解除のアクセス許可を委任する方法
Adminpak.msi を使用して Windows に特定のサーバー管理ツールをインストールする方法

ADの管理ツールだけを個別に指定してインストールできるってことを知りませんでした。。
いつも自分が管理者ってことが多いのであまり委任も設定してことなかったですが、
勉強になりました
ドメイン内のロックアウトしたすべてのユーザのロックを解除するVBS
2010年04月19日 (月) 18:28 | 編集
> cscript ファイル名で実行


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

'検索ユーザ数で変更
objCommand.Properties("Page Size") = 1000

objCommand.CommandText = "<LDAP://dc=xxxxx,dc=local>;(&(objectCategory=User)" & "(lockoutTime:1.2.840.113556.1.4.804:=4294967295));Name,distinguishedName;Subtree"

Set objRecordSet = objCommand.Execute

WScript.Echo "ドメイン内のユーザのロックアウト解除を開始します。解除したユーザが表示されます"

Do Until objRecordSet.EOF
Wscript.Echo objRecordSet.Fields("Name").Value

strUser = objRecordset.Fields("distinguishedName")
Set objUser = GetObject("LDAP://" & strUser)
objUser.IsAccountLocked = False
objUser.SetInfo

objRecordSet.MoveNext
Loop

WScript.Echo "ドメイン内のユーザすべてのロックアウトを解除しました"


ウイルスにユーザを大量ロックされてしまったときなどに。。
自習書シリーズのTOPページ?
2010年04月06日 (火) 12:47 | 編集
SQL Server 2008 R2。。 R2が出ていますねぇ 知らなかった。。

TechNet 自習書シリーズ

上記リンクからすべての?自習書にアクセスできそうです。
Exchange 2010は一通り見たけど、SharePoint 2010ももうありますね。
時間のあるときに見てみよ
スタートアップスクリプトからリモートサーバのイベントログへ書き込む
2010年04月06日 (火) 11:09 | 編集
スタートアップスクリプトからeventcreateコマンドでリモートサーバへ
イベントログを記載しようとするとできない。。

ドメイン環境ではスタートアップスクリプトからのリモートへのアクセスは
「Domain Computers」権限となるようで
以下のURLなどを参考に、リモートサーバのアプリケーションログへ権限を追加して
書込みができるようになりました

Windows Server 2003 のイベント ログのセキュリティをローカルまたはグループ ポリシーで設定する方法
セキュリティ設定を記述するSDDL文字列とは?

SDDLはDomain Computers = DC でした
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で使った場合の保証はできませんので、あしからず
アプリインストールのため、自動ログオン, RunOnceなど調べてみた
2010年03月12日 (金) 16:07 | 編集
< アプリアンインストール→再起動→自動でアプリ再インストール >
という処理をするためちょっと調べてみた結果を自分用にMEMO

run asはパスワードプロンプトを出さないようにはできない、代わりに以下のようなツール発見
RunAsXコマンド

管理者権限ユーザで自動ログオンする方法しかないかなと
検討中ですが、AutoLogonの回数指定方法
How can I set the number of times autologon executes?

PC起動時に起動されるexeやらサービスを確認できるツール
Autoruns for Windows v9.57
GUIで見られるのがいい感じっぽいです

RunOnceが一般ユーザ権限だとちゃんと動作してくれなさそうなんで
いろいろ面倒くさそうです。(アプリのインストール権限もないし)
制限付きユーザーが RunOnce レジストリ エントリを削除できない
ネットワーク接続からアイコンが消える。。解決手順
2010年03月06日 (土) 14:24 | 編集
ユーザからの問合せで、ネットワーク接続にアイコンがない!と
そんなわけないでしょと見ると本当にない。。 (おい)

Windows Server 2003 と Windows XP でネットワーク接続アイコンがなくなる問題をトラブルシュートする方法

結構起こる事象なのかもしれませんね。普通にネットワーク使えてたんで、かなり違和感を感じました
コンピュータのすべてのプリンタを一覧表示&名前変更
2010年03月03日 (水) 11:53 | 編集
PCを展開したあとにプリンタ名が長すぎて、何かのシステムで名前が途中で切れちゃって
見えないから変えてくれ~

ってことで、使ったことはなかったけど、何となく知ってた以下のVBSにて

コンピュータのすべてのプリンタを一覧表示するには(prnmngr.vbs)
> cscript /nologo %WINDIR%\System32\prnmngr.vbs -l

上記でプリンタ名を調べて、そのプリンタ名を以下で変更

プリンタの名前を変更するには(prncnfg.vbs)
> cscript /nologo %WINDIR%\System32\Prncnfg.vbs -x -p "旧プリンタ名" -z "新プリンタ名"
親グループにネストされたグループに所属するユーザを検索、一覧にする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

ほんとに載ってました
2010年02月25日 (木) 11:28 | 編集
ほんとに載せてもらいました

Microsoft Technet Flash ニュースレター -Volume 372- 2010 年 2 月 24 日

マイクロソフトの安納さん、ありがとうございました!
今まで約10年、Windows Serverメインで仕事してきましたが、
これからもいろいろな技術を勉強していかないとっていう励みになります。

個人的に興味のあるWin-RM, Exchange 2010, Sharepoint 2010あたりを今後。
& SCOM, SCCM 2007の自習をしているので、MCP受験に関する記事をこれから
記載していければと思っています。(あとADもですね(祝10周年!))

今後もみなさま何卒よろしくお願いします m(_ _)m
Microsoft Technet Flashのニュースレターに載ってしまうことに(笑)
2010年02月21日 (日) 17:16 | 編集
ブログ経由でMSのエヴァンジェリスト安納さんからの
突然のお誘いで、なんとTechnet Flashのニュースレターに載ってしまうことに
なりました

私のようなもんでいいのか?と辞退を考えましたが、エンジニア人生最後の思い出にと
お返事させてもらいました。

2/23号らしいので、ちょいと楽しみに待っています

私がうんぬんはおいといて、役立ち情報がメールで送られてくるので
購読していない方はよろしければ、以下
Technet Flash 購読ページ
長らくネットワークに繋げてなかったPCがドメインから抜ける?(ドメインログオンできない)場合の対処法
2010年02月04日 (木) 10:15 | 編集
長期間倉庫なんかで保管してて、久々に使ったらドメインログオンできないと

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

そんなときはこれらしい
セキュリティチャネルの期限が切れる(30日と思ってたけど→60日?)からリセットせんといかんと
PowerShellでサーバ監視を実現すべく、まずは参考URL調査
2010年01月23日 (土) 11:12 | 編集
できればWinRMでリモートから多数のサーバを集中監視方式を目指しつつぴよぴよ

・Windows PowerShell でのスクリプティング スクリプト センター
・PowerShell from Japan!! Hey, Scripting Guy まとめ その3
・Windows PowerShell 入門:CodeZine(コードジン)
・Windows PowerShellコマンド&スクリプティング入門(後編) - @IT
・イベントログへのアクセスと filter の使い方

こんなところを目を通していけば、一通り作れるかしら。。




書籍はこないだ買った「PowerShellによるWindowsサーバ管理術」をと思ったら
イベントログに関する部分がちょっと物足りなかったので(7章)、もう1冊買ってみようかなアップロードファイル

amazonでちらっと見たけど、どの書籍がいいかよく分からないので、今度ジュンク堂で立ち読みします!
DNSSECってなんやねん。。
2010年01月22日 (金) 13:08 | 編集
MSからのセミナーの紹介資料を見ていて、Windows Server 2008 R2の新機能の
ところに「DNSSEC」とにわとり こないだMCPの2008アップデート試験でも
そんな言葉なかった気が。。

というのもR2の新機能だからか。

・bindでの設定方法
http://www.atmarkit.co.jp/flinux/rensai/bind913/bind913a.html

要するに公開鍵やらの技術でDNSゾーンの情報などを保護しようと
(いうことでしょう。)

Windows でのスクリーンショット入りの手順やらをどこかで見つけたら
紹介したいところです(自分ではやる気しないっすね。。難しそうkao06
shell: コマンドで開くことができるフォルダ
2010年01月04日 (月) 10:25 | 編集
明けましておめでとうございます。
今年もよろしくお願いします絵文字名を入力してください

えー、情けないことに今まで、shellコマンドで特殊フォルダが開けることを
知らなかったですkao05

Windows 7ですが、フォルダ一覧が記載されているページを見つけたのでMEMO
http://pasofaq.jp/windows/mycomputer/shellfolder7.htm

ファイル名を指定して実行より、「shell:sendto」というように使います
Powered by . / Template by sukechan.