「Active Directory」の編集履歴(バックアップ)一覧に戻る
追加操作でエラーが発生しました。パッケージから展開情報を抽出できませんでした。
パッケージが正しいことを確認するためにパッケージの確認を実行してください。
GPO を作成できません。
On Error Resume Next
strRegValue = wss.RegRead("レジストリのパス")
On Error Goto 0
If strRegValue <> "" Then
wss.RegDelete("レジストリのパス")
End If
secedit /refreshpolicy
Domain Users
NT AUTHORITY\Authenticated Users (S-1-5-11)
NT AUTHORITY\INTERACTIVE (S-1-5-4)
wuauclt.exe /resetauthorization /detectnow
route add xxx.yyy.0.0 mask 255.255.0.0 xxx.yyy.0.251
route print
tracert xxx.yyy.0.0
route delete xxx.yyy.0.0
tracert xxx.yyy.0.0
とりあえず俺がわかっていなかったので超簡略化して書いておく。
aaa.bbb.0.0で0を指定した後ろ二つは1-255の範囲を指すことになる。サブネットマスクは255.255.0.0。
aaa.bbb.ccc.0に対してならサブネットマスクは255.255.255.0のようにすればよい。
この理解だけだと間違いなので、この記事とか読んで理解してから設定しないと痛い目みるかも。
http://www.atmarkit.co.jp/fnetwork/netcom/route/route.html
Set net = CreateObject("WScript.Network")
Set fso = CreateObject("Scripting.FileSystemObject")
donePath = "\\MyServer\LocalAdminCheck\Done\" & net.ComputerName & ".txt"
undonePath = "\\MyServer\LocalAdminCheck\Undone\" & net.ComputerName & ".txt"
IF fso.FileExists(donePath) = False Then
set fp = fso.CreateTextFile(undonePath,True)
fp.Close
End If
Set fso = CreateObject("Scripting.FileSystemObject")
doneFolder = "\\MyServer\LocalAdminCheck\Done"
undoneFolder = "\\MyServer\LocalAdminCheck\Undone"
For Each file In fso.GetFolder(undoneFolder).Files
targetName = fso.GetBaseName(file.Path)
donePath = doneFolder & "\" & targetName & ".txt"
undonePath = undoneFolder & "\" & targetName & ".txt"
On Error Resume Next
Set objUser = GetObject("WinNT://" & targetName & "/Administrator, user")
Select Case Err
Case 0
objUser.SetPassword "ここにパスワードを記述"
objUser.SetInfo
set fp = fso.CreateTextFile(donePath,True)
'パスワードが設定できたら、このスクリプトの更新日をDoneフォルダのコンピュータ名.txtに出力
fp.Writeline fso.GetFile(Wscript.ScriptFullName).DateLastModified
fp.Close
'Undoneフォルダから削除
file.Delete
Case Else
'設定できなかったら、エラーコードをUndoneフォルダのコンピュータ名.txtに出力
set fp = fso.CreateTextFile(undonePath,True)
fp.writeline Err
fp.Close
End Select
Next
REG DELETE HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Installer\Features\68AB67CA7DA71401B7448A0100000030
REG DELETE HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Installer\Products\68AB67CA7DA71401B7448A0100000030
[ツール]→[オプション]→[セキュリティ] タブ→[保存時にファイルのプロパティから個人情報を削除する] チェック ボックスをオンに。
BullzipPDFPrinter_5_0_0_609.exe /VERYSILENT /NORESTART
FileFormatConverters.exe /extract:c:\temp\
'【書換必須】コンピュータを列挙したファイルパス。コンピュータごとに改行。
strListPath = "C:\Documents and Settings\Administrator\デスクトップ\List.txt"
'【書換必須】結果を出力するログファイルパス。
strLogPath = "C:\Documents and Settings\Administrator\デスクトップ\Log.txt"
'【書換必須】指定したい管理者パスワード
strPWD = "czBnkbe+47i"
Set fso = CreateObject( "Scripting.FileSystemObject" )
Set ts = fso.OpenTextFile( strListPath, 1 )
lines = Split( ts.ReadAll, vbCrLf )
ts.Close
set tsLog = fso.CreateTextFile(strLogPath,True)
On Error Resume Next
For i = 0 to Ubound(lines) - 1
strComputer = lines(i)
Set objUser = GetObject("WinNT://" & strComputer & "/Administrator, user")
objUser.SetPassword strPWD
objUser.SetInfo
tsLog.WriteLine(strComputer & "," & Err.Number & ":" & Err.Description)
Err.Clear
Next
tsLog.Close
Msgbox "Finish!"
strComputer = "hoge"
strUser = "moge"
Set objGroup = GetObject("WinNT://" & strComputer & "/Administrators")
Set objUser = GetObject("WinNT://example.co.jp/" & strUser)
objGroup.Add(objUser.AdsPath)
'objGroup.Remove(objUser.AdsPath)
MsgBox "終了しました"
strLDAP = "LDAP://DC=example,DC=co,DC=jp"
strName = "username"
Set objUser = GetUserObject(strLDAP,strName)
MsgBox objUser.Name
Function GetUserObject (strLDAP,strName)
Const ADS_SCOPE_SUBTREE = 2
Set objConnection = CreateObject("ADODB.Connection")
objConnection.Provider = "ADsDSOObject"
objConnection.Open "Active Directory Provider"
Set objCommand = CreateObject("ADODB.Command")
Set objCommand.ActiveConnection = objConnection
objCommand.Properties("Page Size") = 1000
objCommand.Properties("Searchscope") = ADS_SCOPE_SUBTREE
'samAccountNameは一意のはず(たぶん。調査した範囲では間違いなく。)
objCommand.CommandText = "SELECT distinguishedName FROM '" & strLDAP _
& "' WHERE objectCategory='user' AND samAccountName='" & strName & "'"
Set objRecordSet = objCommand.Execute
IF objRecordSet.RecordCount = 1 Then
objRecordSet.MoveFirst
strDN = objRecordSet.Fields("distinguishedName").Value
Set objUser = GetObject("LDAP://" & strDN)
Set GetUserObject = objUser
Else
Set GetUserObject = Nothing
End If
End Function
データ数 | 1000×1000 | 65536×65536 |
---|---|---|
Dictionaly | 0.98秒 | 1.97秒 |
リニアサーチ | 113.16秒 | 終わらないから強制終了w |
Set fso = CreateObject( "Scripting.FileSystemObject" )
'lines1にテキストファイルからリスト1を読み込み
Set ts = fso.OpenTextFile( "List1.txt", 1 )
lines1 = Split( ts.ReadAll, vbCrLf )
ts.Close
'lines2にテキストファイルからリスト2を読み込み
Set ts = fso.OpenTextFile( "List2.txt", 1 )
lines2 = Split( ts.ReadAll, vbCrLf )
ts.Close
'■Dictonaryを使用した存在確認
start1 = timer
Set dic = CreateObject( "Scripting.Dictionary" )
For i = 0 to Ubound(lines) - 1
dic.Add lines(i) , 0
Next
For i = 0 to Ubound(lines2) - 1
If dic.Exists(lines2(i)) = True Then
End If
Next
elapsed 1= timer1 - start
'■リニアサーチを使用した存在確認
start2 = timer
For i = 0 to Ubound(lines) - 1
For j = 0 to Ubound(lines2) - 1
IF lines(i)=lines2(j) Then Exit For
Next
Next
elapsed2 = timer - start2
'■結果表示
MsgBox "Dictionaly:" & elapsed1 & vbcrlf & "リニアサーチ:" & elapsed2
strPath = "C:\Documents and Settings\Administrator\デスクトップ\Users.txt"
strLDAP = "LDAP://dc=example,dc=co,dc=jp"
Const ADS_SCOPE_SUBTREE = 2
Set fso = CreateObject( "Scripting.FileSystemObject" )
Set ts = fso.OpenTextFile( strPath, 1 )
lines = Split( ts.ReadAll, vbCrLf )
ts.Close
Set dicUsers = CreateObject( "Scripting.Dictionary" )
For i = 0 to Ubound(lines) - 1
dicUsers.Add lines(i) , 0
Next
Set objConnection = CreateObject("ADODB.Connection")
objConnection.Provider = "ADsDSOObject"
objConnection.Open "Active Directory Provider"
Set objCommand = CreateObject("ADODB.Command")
Set objCommand.ActiveConnection = objConnection
objCommand.Properties("Page Size") = 1000
objCommand.Properties("Searchscope") = ADS_SCOPE_SUBTREE
objCommand.CommandText = "SELECT distinguishedName,CN FROM '" & strLDAP & "' WHERE objectCategory='user'"
Set objRecordSet = objCommand.Execute
objRecordSet.MoveFirst
Do Until objRecordSet.EOF
strDN = objRecordSet.Fields("distinguishedName").Value
IF dicUsers.Exists(objRecordSet.Fields("CN").Value) Then
Set objUser = GetObject("LDAP://" & strDN)
objUser.pwdLastSet = 0
objUser.SetInfo
End If
objRecordSet.MoveNext
Loop
いくつかの設定の表示名が見つかりません。グループ ポリシーの管理が使用している .ADM ファイルを更新すると、この問題を解決できる場合があります。
Software\Policies\Microsoft\Windows\CurrentVersion\Internet Settings\ListBox_Support_ZoneMapKey 1
Software\Policies\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMapKey\...
strLogPath="Log.txt"
strPWD="ExamplePassword"
Const ADS_SCOPE_SUBTREE = 2
'ADODBコネクションの作成
Set objConnection = CreateObject("ADODB.Connection")
objConnection.Provider = "ADsDSOObject"
objConnection.Open "Active Directory Provider"
'ADODBコマンドでドメインに所属するコンピュータを問い合わせ
Set objCommand = CreateObject("ADODB.Command")
Set objCommand.ActiveConnection = objConnection
objCommand.CommandText = "SELECT Name,OperatingSystem FROM 'LDAP://DC=example,DC=co,DC=jp' WHERE objectClass='computer'"
objCommand.Properties("Page Size") = 1000
objCommand.Properties("Searchscope") = ADS_SCOPE_SUBTREE
Set objRecordSet = objCommand.Execute
'各クライアントの成否を記録するログファイルを生成
set fso = CreateObject("Scripting.FileSystemObject")
set fp = fso.CreateTextFile(strLogPath,True)
On Error Resume Next
objRecordSet.MoveFirst
Do Until objRecordSet.EOF
strComputer = objRecordSet.Fields("Name").Value
'サーバーの管理者パスワードを変えてしまわないようにOSで限定しています。
'これはまあOU使ってもいいですし、絞り方はいろいろ。
If objRecordSet.Fields("OperatingSystem").Value="Windows XP Professional" Then
Set objUser = GetObject("WinNT://" & strComputer & "/Administrator, user")
objUser.SetPassword strPWD
objUser.SetInfo
fp.WriteLine(strComputer & "," & Err.Number & ":" & Err.Description)
End If
objRecordSet.MoveNext
Loop
fp.Close
Msgbox "Ok"
Setup.exe -a -r -f1c:\testSet.iss
Setup.exe -s -f1c:\testSet.iss
ファイル サーバー リソース マネージャを有効にします。
イベントID 1030:グループ ポリシー オブジェクトの一覧を照会できません。このエラーの理由を説明するようなメッセージをポリシー エンジンが記録していないかどうか、イベント ログを確認してください。
詳細な情報は、http://go.microsoft.com/fwlink/events.asp の [ヘルプとサポート センター] を参照してください。
イベントID 1058:GPO cn={XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX},cn=policies,cn=system,DC=example.co.jp,DC=example,DC=co,DC=jp 用のファイル gpt.ini にアクセスできません。ファイルは場所 <\\example01.co.jp\sysvol\example01.co.jp\Policies\[XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}\gpt.ini> に存在する必要があります (アクセスが拒否されました。 )。グループ ポリシーの処理は中止されました。
詳細な情報は、http://go.microsoft.com/fwlink/events.asp の [ヘルプとサポート センター] を参照してください。
dsadd user "CN=山田 太郎,OU=部門1,OU=Domain Users,DC=example01,DC=example,DC=or,DC=jp" -ln 山田 -fn 太郎 -display 山田 太郎 -upn taro-yamada@example.co.jp -pwd Example01 -mustchpwd yes -memberof "CN=総務部,OU=Security Groups,DC=example01,DC=example,DC=co,DC=jp" "CN=総務部長,OU=Security Groups,DC=example01,DC=example,DC=co,DC=jp" "CN=防火責任者,OU=Security Groups,DC=example01,DC=example,DC=co,DC=jp" "CN=プロジェクトチーム1,OU=Security Groups,DC=example01,DC=example,DC=co,DC=jp" -disabled no
手法 | 対象 | 特徴 |
---|---|---|
グループポリシー | HKLM | ローカル管理者でも変更できない。 |
グループポリシー | HKCU | ローカル管理者でも変更できない。 |
スタートアップスクリプト | HKLM | ユーザーは変更できない。 |
ログオンスクリプト | HKCU | ユーザーが変更できる。 |
CLASS USER
CATEGORY !!CustomRegistry
CATEGORY !!PathOfRun
KEYNAME "Software\Policies\Microsoft\Windows\CurrentVersion\Run"
POLICY !!OnlyDetl_Title
EXPLAIN !!OnlyDetl_Explain
PART !!OnlyDetl_Path EDITTEXT
VALUENAME OnlyDetl
MAXLEN 60
END PART
END POLICY
END CATEGORY
END CATEGORY
[strings]
CustomRegistry="配布レジストリ"
PathOfRun="ログイン時に実行するアプリケーション"
OnlyDetl_Title="OnlyDetl"
OnlyDetl_Explain="OnlyDetlの実行パスを設定します。"
OnlyDetl_Path="実行パス:"
AdbeRdr810_ja_JP.exe -nos_ne-nos_ne
abcpy.ini AcroRead.msi Data1.cab Setup.exe setup.ini
'ログインアカウントのSIDをWMIを使用して取得 Set oWMI = GetObject("winmgmts:\\.\root\cimv2") Set WshNetwork = WScript.CreateObject("WScript.Network") Set oAccount = oWMI.Get ("Win32_UserAccount.Name='" & WshNetwork.UserName & "',Domain='" & WshNetwork.UserDomain & "'") strKeyBase = oAccount.SID & "\Software\Microsoft\Internet Account Manager\Accounts" 'SIDに登録されたインターネットアカウントをレジストリから列挙 const HKEY_USERS = &H80000003 Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\default:StdRegProv") oReg.EnumKey HKEY_USERS, strKeyBase, arrSubKeys '各アカウントの値をチェックして更新 For Each subkey In arrSubKeys strKeyPath = strKeyBase & "\" & subkey strValueName = "POP3 Server" oReg.GetStringValue HKEY_USERS, strKeyPath , strValueName, strValue If Not IsNull(strValue) Then If strValue="mail.example.co.jp" Then oReg.SetStringValue HKEY_USERS, strKeyPath , strValueName , "pop.example.co.jp" End IF End If strValueName = "SMTP Server" oReg.GetStringValue HKEY_USERS, strKeyPath , strValueName, strValue If Not IsNull(strValue) Then If strValue="mail.example.co.jp" Then oReg.SetStringValue HKEY_USERS, strKeyPath , strValueName , "smtp.example.co.jp" End IF End If Next
oがないのがレジストリ…… oがあるのがアクティブディレクトリ…… ちょっと時々ごっちゃになるねん わかってるねん わかってるねんで? バカにしたらあかん oがあるのがレジストリ それがごっちゃに…… わかってるねんで!?
このドメインの Active Directory スキーマ バージョンと、このツールによってサポートされているバージョンが一致しません。GPO は /ignoreschema コマンド ライン パラメータを使用すると復元できます。ただし、このツールの更新バージョンを取得することをお勧めします。このツールの更新バージョンには、Active Directory スキーマの更新バージョンが含まれている可能性があります。間違ったスキーマで GPO を復元すると、予期しない動作が発生する場合があります。
次のドメインの既定のドメイン ポリシーを復元しようとしています。
xxx.yyy.zzz.jp
続行しますか: <Y/N>? y
警告: この操作を行うと、選択された GPO で行われた 'ユーザー権利の割り当て' がすべて置き換えられます。これにより一部のサーバー アプリケーションでエラーが発生する可能性があります。 続行しますか: <Y/N>?
既定のドメイン ポリシーは正しく復元されました
注意: 既定のドメイン ポリシーの内容のみが復元されました。このグループ ポリシーオブジェクトへのグループ >ポリシー リンクは変更されませんでした。
既定では、既定のドメイン ポリシーはドメインにリンクされています。