달력

1

« 2025/1 »

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31

알림 메시지 1 
AD Lost And Found Object Count: The script 'AD Lost And Found Count' failed to create object
'McActiveDir.ActiveDirectory'. This is an unexpected error. The error returned was 'ActiveX component can't create object' (0x1AD)

알림 메시지 2
AD Database and Log: The script 'AD Database and Log' failed to create object 'McActiveDir.ActiveDirectory'.
The error returned was 'ActiveX component can't create object' (0x1AD)


[해결]
보통 Windows Server 2000 Domain Controller에서 발생
모든 DC에 SCOM 설치 미디어에서 Active Directory Helper Object 설치 (oomads.msi)

:
Posted by 커널64

구문

설명

예제

단일 문자

.

줄 바꿈 문자를 제외한 모든 단일 문자를 찾습니다.

a.o "around"에서 "aro"와 일치하고 "about"에서 "abo"와 일치하지만 "across"에서 "acro"와는 일치하지 않습니다.

0 이상

*

앞의 식을 0번 이상 찾습니다.

a*b "bat" "b" "about" "ab"를 찾습니다.

e.*e "enterprise"라는 단어를 찾습니다.

하나 이상

+

앞의 식을 한 번 이상 찾습니다.

ac+ "race" "ace" 같이 문자 "a"와 최소한 하나 이상의 "c"를 포함하는 단어를 찾습니다.

a.+s "access"라는 단어를 찾습니다.

줄의 시작

^

줄의 시작 부분에서 일치하는 문자열을 찾습니다.

^car "car"라는 단어가 편집기 줄의 첫 번째 문자 집합에 나올 때만 찾습니다.

줄의 끝

$

줄의 끝 부분에서 일치하는 문자열을 찾습니다.

end$ "end"라는 단어가 편집기 줄의 마지막 문자 집합에 나올 때만 찾습니다.

단어의 시작

< 

텍스트의 해당 지점에서 시작하는 단어만 찾습니다.

<in "in"으로 시작하는 "inside" "into" 등의 단어를 찾습니다.

단어의 끝

> 

텍스트의 해당 지점에서 끝나는 단어만 찾습니다.

ss> "ss"로 끝나는 "across" "loss" 등의 단어를 찾습니다.

줄 바꿈

\n

운영 체제에 독립적인 줄 바꿈을 찾습니다. 바꾸기 식에 줄 바꿈을 삽입합니다.

End\nBegin "End"가 줄의 마지막 문자열이고 "Begin"이 다음 줄의 첫 번째 문자열인 경우에만 단어 "End" "Begin"을 찾습니다.

바꾸기 식의 경우에는 다음과 같습니다.

Begin\nEnd는 첫 줄에서 "End"라는 단어를 "Begin"으로 바꾸고 줄 바꿈을 삽입한 다음 "Begin" "End"로 바꿉니다.

집합에 있는 한 문자

[]

[] 안의 문자 중 하나를 찾습니다. 문자 범위를 지정하려면 대시(-)로 구분하여 시작 및 끝 문자를 입력합니다(: [a-z]).

be[n-t] "between" "bet", "beneath" "ben", 그리고 "beside" "bes"는 찾지만 "below" "bel"은 찾지 않습니다.

집합에 없는 한 문자

[^...]

^ 뒤에 오는 문자 집합에 포함되지 않는 문자를 찾습니다.

be[^n-t] "before" "bef", "behind" "beh", 그리고 "below" "bel"은 찾지만 "beneath" "ben"은 찾지 않습니다.

또는

|

OR 기호(|) 앞 또는 뒤에 나오는 식과 일치하는 항목을 찾습니다. 이 구문은 그룹에서 가장 자주 사용됩니다.

(sponge|mud) bath "sponge bath" "mud bath"를 모두 찾습니다.

이스케이프

\

백슬래시(\) 뒤에 나오는 문자열을 리터럴로 간주하고 일치하는 항목을 찾습니다. 이렇게 하면 { ^과 같이 정규식 표기에 사용되는 문자를 찾을 수 있습니다.

\^ ^ 문자를 검색합니다.

태그 식

{}

중괄호로 묶인 식을 포함하여 태그가 지정된 텍스트를 찾습니다.

zo{1} "Alonzo1" "Gonzo1" "zo1"은 찾지만 "zone" "zo"는 찾지 않습니다.

C/C++ 식별자

:i

([a-zA-Z_$][a-zA-Z0-9_$]*) 식의 약식 형태입니다.

가능한 모든 C/C++ 식별자를 찾습니다.

따옴표 붙은 문자열

:q

(("[^"]*")|('[^']*')) 식의 약식 형태로, 작은따옴표나 큰따옴표로 묶인 모든 문자를 찾고 따옴표 자체도 찾습니다.

:q "test quote" 'test quote'는 찾지만 can't 't는 찾지 않습니다.

공백 또는 탭

:b

공백 또는 탭 문자를 찾습니다.

Public:bInterface는 텍스트에서 "Public Interface"라는 구를 찾습니다.

정수

:z

모든 숫자 조합을 찾는 ([0-9]+) 식의 약식 형태입니다.

"1", "234", "56" 등의 모든 정수를 찾습니다.

^.*[]ERROR[].*
메시지 시작부터 검색해 앞 뒤에 공백 한 칸씩을 가지고 ERROR 메시지가 있는 파라미터 검색

:
Posted by 커널64

Netstat -an | findstr "ESTABLISHED"해서 ESTABLISHED 세션 수 성능 수집

Rule > New > Probe based > Script(performance)

Object, Counter, Instance 적당한 값
Value: $Data/Property[@Name='ESTABLISHED Count']$

---------------------------------------------------------------------------------------------------------------

ESTABLISHED.vbs


Dim oAPI, oBag
Set oAPI = CreateObject("MOM.ScriptAPI")
Set oBag = oAPI.CreatePropertyBag()

Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objTextFile = objFSO.OpenTextFile (".\ESTABLISHED.BAT", 8, True)

objTextFile.WriteLine("netstat -an -p tcp | findstr ESTABLISHED")
objTextFile.Close
Set objTextFile  = nothing

Set shellobj=WScript.CreateObject("WScript.Shell")
Set execObj=shellobj.Exec(".\ESTABLISHED.BAT")
OutData=execObj.StdOut.ReadAll()
val=execObj.StdOut.Line - 3

Set aFile = objFSO.GetFile(".\ESTABLISHED.BAT")
aFile.Delete
Set aFile = nothing
Set execObj = nothing

Call oBag.AddValue("ESTABLISHED Count",val)
Call oAPI.Return(oBag)

:
Posted by 커널64
2009. 1. 9. 21:30

SCOM 2007 Agent 지원 S/W(운영체제) SystemCenter2009. 1. 9. 21:30

관리 대상
(Agent)

 

운영체제
요구사항

Windows 2000 with SP4, Server/Professional Edition
Windows Server 2003 with SP1 or SP2, Standard (x86/x64/IA64 Edition)
Windows Server 2003 with SP1 or SP2, Enterprise (x86/x64/IA64 Edition)
Windows Server 2003 with SP1 or SP2, Datacenter (x86/x64/IA64 Edition)
Windows Server 2003 R2 with SP1 or SP2, Standard (x86/x64/IA64 Edition)
Windows Server 2003 R2 with SP1 or SP2, Enterprise (x86/x64/IA64 Edition)
Windows Server 2003 R2 with SP1 or SP2, Datacenter (x86/x64/IA64 Edition)
Windows XP with SP2, Professional (x86/x64 Edition)
Windows Vista, Ultimate (x86/x64 Edition)
Windows Vista, Business (x86/x64 Edition)
Windows Vista, Enterprise (x86/x64 Edition)
Windows Server 2008, Standard (x86/x64 Edition) (Full/Core Installation)
Windows Server 2008, Enterprise (x86/x64 Edition) (Full/Core Installation)
Windows Server 2008, Datacenter (x86/x64) Edition (Full/Core Installation)

:
Posted by 커널64

클러스터로 구성된 각 노드의 Agent Proxy 구성 후
이벤트 로그에 다음 두 개의 이벤트 로그가 지속적으로 발생하며 클러스터의 상태가 '모니터링 하지 않음'으로 유지되는 경우
- 이벤트 원본: HealthService, 이벤트 ID: 1103
- 이벤트 원본: Health Service Modules, 이벤트 ID: 10720

[원인]
MT_Computer 테이블이 정상적으로 채워지지 않아 컴퓨터의 DNS Name으로 스크립트 실행이 실패해 나타난다.

[해결]
1. DNSName이 NULL 값인 컴퓨터 목록 확인
- SSMS > Query Analyzer
Select NetbiosComputerName,DNSName from OperationsManager.dbo.MT_Computer where DNSName is NULL

2. 결과에서 DNSName이 NULL 값인 서버에 대해 다음 쿼리를 이용해 Update 한다.
Update OperationsManager.dbo.MT_Computer set DNSName = '<ClusterDNSName>' where NetbiosComputerName='<ClusterNetBiosName>'

3. Health Service 재시작

:
Posted by 커널64

Monitor -> New -> Scripting -> Timed Script Two State Monitor

Parameters
[Port Number] [Port Number] [Port Number] ....

State Expression
For Unhealthy Expression Property[@Name='State'] Equals Good
For Healthy Expresion Property[@Name='State'] Equals Bad

Alert Description
$Data/Context/Property[@Name='Message']$

---------------------------------------------------------------------------------------------------------------

Check.Port.vbs

Dim oAPI, oBag, PortNumber(), strReturn(), strMessage
strMessage = ""

Set oAPI = CreateObject("MOM.ScriptAPI")
Set oBag = oAPI.CreatePropertyBag()
Set oArgs = WScript.Arguments

ParamCount = oArgs.Count
State = 0

If ParamCount < 1 Then
Call oAPI.LogScriptEvent("Check.Port.vbs", 5009, 0, "Script aborted. Not enough parameters provided.")
WScript.Quit -1
End If

ReDim Preserve PortNumber(ParamCount), States(ParamCount), strReturn(ParamCount)

set shellobj=WScript.CreateObject("WScript.Shell")
i = 0
Do While i <> ParamCount
PortNumber(i) = oArgs(i)
val = 0

Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objTextFile = objFSO.OpenTextFile (".\RUNNETSTAT.BAT", 8, True)

objTextFile.WriteLine("netstat -an -p tcp | findstr LISTENING | findstr /C:" & chr(34) &  ":"  & PortNumber(i)) & " " & chr(34)
objTextFile.Close
set objTextFile  = nothing

set execObj=shellobj.Exec(".\RUNNETSTAT.BAT")
OutData=execObj.StdOut.ReadAll()
val=execObj.StdOut.Line - 3

If val => 1 Then
strReturn(i) = "LISTENING"
Call oBag.AddValue("Port " & PortNumber(i),strReturn(i))
Else
strReturn(i) = "NOT LISTENING"
Call oBag.AddValue("Port " & PortNumber(i),strReturn(i))
State = 1
End If

strMessage = strMessage & "Port " & PortNumber(i) & ": " & strReturn(i) & " | "

Set aFile = objFSO.GetFile(".\RUNNETSTAT.BAT")
aFile.Delete
Set aFile = nothing
Set execObj = nothing
i = i + 1
Loop

set shellobj=nothing

If State = 0 Then
Call oBag.AddValue("State","Good")
Else
Call oBag.AddValue("State","Bad")
End If

Call oBag.AddValue("Message", strMessage)
Call oAPI.Return(oBag)

:
Posted by 커널64
2009. 1. 8. 01:47

DPM 2007을 이용한 SharePoint 복구 SystemCenter2009. 1. 8. 01:47

[준비 작업]

-       모든 서버(원본 및 복구 Farm)KB941422 설치

-       WSS Writer가 구성되어 있고 DPM이 사용하도록 설정되어 있어야 한다.
(Farm
Administrator 계정으로 ConfigureSharepoint.exe 구성)

 

다음 항목은 대체 사이트에 복구복구 유형을 사용 시에 필요하다.

-       복구 용도의 두 번째 SharePoint Farm이 설치되어 있어야 한다.
(
단일 서버 구성으로 하며 VM으로 구성할 수도 있다. 당연한 얘기로 복구에 필요한 디스크 용량이 충분해야 한다.)

-       복구 서버에 이름이 DPMRecoveryWebApplication인 웹 응용 프로그램이 생성되어 있어야 한다.


복구 Farm 서버에 DPMRecoveryWebApplication 생성 방법

     SharePoint 3.0 중앙 관리 실행

     응용 프로그램 관리 > 웹 응용 프로그램 목록

     목록에 DPMRecoveryWebApplication가 있으면 제거
(
응용 프로그램 관리 > 웹 응용 프로그램 삭제)

     뒤로 이동 (응용 프로그램 관리 페이지)

     웹 응용 프로그램 만들기 또는 확장 > 새 웹 응용 프로그램 만들기

     새 웹 응용 프로그램에 대한 정보 입력

ž   IIS 웹 사이트 만들기선택

ž   설명: DPMRecoveryWebApplication

ž   포트 번호 입력

ž   호스트 헤더, 경로, 보안 구성은 기본값 사용

ž   새 응용 프로그램 풀 만들기 선택

ž   응용 프로그램 풀의 전체 이름 확인 (Memo!)

ž   보안 계정 구성선택 후 계정 정보 입력

ž   데이터베이스 이름: DPMRecoveryWebApplication

ž   확인을 클릭해 웹 응용 프로그램 생성

ž   생성 작업 완료 후 iisreset /noforce 실행



 

[SharePoint Farm 복원]

 

원본 Farm이 사용 가능한 경우의 복원

요구 사항

-       복구 지점이 생성된 시점과 동일하게 Front-end Web Server가 설정되어 있어야 한다.
(
구성이 이전과 다른 경우 복구는 실패한다.)

-       기존 구조에 복원이 가능하도록 Front-end Web Server Farm 구조가 생성되어 있어야 한다.

-       복구 지점이 생성된 시점과 동일하게 SQL 인스턴스가 동일한 이름으로 구성되어 있어야 한다.

 

복구 과정

     DPM 관리자 콘솔 > 복구

     원본 서버 이름 > 모든 보호된 SharePoint 데이터 > 복구 항목/복구 지점 선택

     복구 > 다음 > 복구 유형을 선택하고 복구를 진행한다.

 

 

원본 Farm이 사용 불가능한 경우의 복원

SharePoint를 구성하는 모든 H/W 또는 S/W가 사용 불가능해져 새로 설치한 후 전체 SharePoint Farm의 복구가 필요한 경우

요구 사항

-       Farm은 복구 지점이 생성된 시점과 동일한 구성으로 설치해야 한다.
(SharePoint Farm
을 호스팅하는 SQL 인스턴스/Front-end Web Server의 이름)

 

복구 과정

     SQL 인스턴스와 Front-end Web Server의 이름이 복구 지점 생성 시점과 동일한지 확인

     DPM Agent 설치에 필요한 요구 사항 설치, DPM 서버와의 정상적인 통신 여부 확인

     %ProgramFiles%\Microsoft Data Protection Manager\DPM\bin\
ConfigureSharePoint.exe
실행해 Front-end Web Server WSS Writer 구성

     DPM 관리자 콘솔 > 복구

     복구할 Farm 데이터를 가지고 있는 SharePoint Server 확장

     모든 보호된 SharePoint 데이터 > 오른쪽 항목에서 복구할 날짜 선택 > 복구

     복구 유형 선택 후 복구 진행

 

다음 과정은 모든 Front-end Web Server에서 진행한다.

     복구 과정 완료 후 ‘SharePoint 제품 및 기술 구성 마법사실행

     이 서버 팜과의 연결 끊기선택 > 다음
(
반드시 모든 Front-end Web Server의 연결을 끊어야 한다.)

     IIS 관리 도구 실행 후 모든 웹 사이트와 응용 프로그램 풀 제거

     ‘SharePoint 제품 및 기술 구성 마법사실행 > 기존 서버 팜에 연결 > 다음

     구성 데이터베이스 설정 (SQL Server 이름/Database 이름 기존과 동일해야 한다.) > 다음

     포트 정보, 인증 방법 설정 > 다음 > 구성 진행 > 완료
((가능한 경우) 고급 설정 > '이 컴퓨터로 웹 사이트 호스팅' 선택 > 완료)

:
Posted by 커널64

DPM 2007 관리자 콘솔 > 복구 탭 > ‘최종 사용자 복구 구성…’ >

‘Active Directory 구성’ > 계정 정보 입력 > 진행

 

진행 중 Active Directory Could Not be Found에러 발생

 

 

[해결]

스키마 확장을 위해서는

     Domain Controller에 로그온

     DPM 서버의 %ProgramFiles%\Microsoft DPM\DPM\End User Recovery\
DPMADSchemaExtension.exe
실행

     DPM 컴퓨터 이름 입력
* FQDN
이 아닌 서버 이름만 입력

     DPM 서버의 도메인 이름 입력
*
도메인의 FQDN 입력 (ex: Domain.local)

     보호 컴퓨터 도메인 이름 입력

-       DPM 서버가 스키마 마스터 역할을 가지고 있는 도메인 컨트롤러와 동일한 도메인에 속해 있는 경우 공백으로 남겨둔다.

     확인 > 확인

     다시 DPM 서버로 돌아와 최종 사용자 복구 구성…’ 클릭

     최종 사용자 복구 사용체크 > 확인


 

Client Component 설치

http://technet.microsoft.com/en-us/library/cc161443.aspx

:
Posted by 커널64

[증상]

-       Windows Server 2008에 설치된 SQL Server 2005 SP2(9.00.3042.00)DPM으로 보호 시 모든 SQL 서버트리 하위로 데이터베이스 목록이 나열되지 않는다.
(
이 외에 모든 볼륨’, ‘모든 공유’, ‘System State’는 정상)

 

-       CMD 창에서 vssadmin list writers 실행 시 SqlServerWriter가 목록에 나타나지 않는다.
(SQL Server VSS Writer
서비스를 재시작하거나 재부팅을 해도 동일)

 

-       DPM 관리자 콘솔에서 SQL 데이터베이스 목록을 나열하려고 시도할 때마다 다음 두 개의 이벤트가 SQL Server의 이벤트 로그에 기록된다.

Log Name: Application

Source: VSS

Date:

Event ID: 8193

Task Category: None

Level: Error

Keywords: Classic

User: N/A

Computer: SQLServerName

Description:

Volume Shadow Copy Service error: Unexpected error calling routine

CoCreateInstance. hr = 0x80040154

Log Name: Application

Source: VSS

Date:

Event ID: 32

Task Category: None

Level: Error

Keywords: Classic

User: N/A

Computer: SQLServerName

Description:

Volume Shadow Copy Service error: The VSS Coordinator class is not registered

 

-       SQL Server에서 백업을 수행하면 정상적으로 수행된다.



[해결]

데이터베이스 이름에 공백이나 표시 불가능한 문자가 있는 경우 SQL Writer가 메타데이터를 생성 시 실패하게 된다. 이로 인해 vssadmin list writers 결과에 SqlServerWriter가 나타나지 않게 된다.

 

     SSMS 실행

     데이터베이스 목록 확장

     각 데이터베이스의 속성’ > ‘파일에서 논리적 이름에 공백이나 표시 불가능한 문자가 있는지 확인

:
Posted by 커널64

[증상]

An Unexpected error occurred during a VSS operation.

ID 207 Details: No such interface supported (0x80004002)

Recommended action: Retry the operation

 

%ProgramFiles%\Microsoft DPM\DPM\MSDPMCurr.errlog 로그 파일

GetDifferentialSoftwareSnapshotMgmt3Interface () failed: (0x80004002)

 

[원인]

Volume Shadow Copy ComponentIVssDifferentialSoftwareSnapshotMgmt3 interface가 올바르게 등록되지 않아 발생한다.

 

[해결]

DPM 서버에서 vss_ps.dll을 재등록한다.
(Windows Server 2008의 경우 Administrator 권한으로 실행)

     CMD

     regsvr32 %windir%\System32\vss_ps.dll

     Volume Shadow Copy 서비스 재시작

 

만약 위 방법으로 해결되지 않는다면 KB940032(http://support.microsoft.com/kb/940032)를 참고해 VSS 시스템 파일을 재등록한다.

 

cd /d %windir%\system32

Net stop vss

Net stop swprv

regsvr32 ole32.dll

regsvr32 oleaut32.dll

regsvr32 vss_ps.dll

vssvc /register

regsvr32 /i swprv.dll

regsvr32 /i eventcls.dll

regsvr32 es.dll

regsvr32 stdprov.dll

regsvr32 vssui.dll

regsvr32 msxml.dll

regsvr32 msxml3.dll

regsvr32 msxml4.dll

 

:
Posted by 커널64