아래와 같은 powershell 파일을 만들어놓고 powershell ISE 에서 실행할경우 정상적으로 작동하는데
그냥 powershell에서 실행할때는 정상작동하지 않습니다.
그래서 배치파일을 생성해서 아래 내역을 실행하고자 하는데 정상적으로 작동을 하지 않습니다.
혹시 어떤것이 잘못됬는지 확인부탁드리겠습니다.
혹은 배치파일을 생성하여 실행할수 있는 방법이 있는지 알고 계신분은 답변 부탁드리겠습니다.
$sqlserver = DB 서버
$dbname = DB 명
$sqlusr = 아이디
$sqlpw = 비번
$folder = 'D:' # 모니터링폴더
$filter = '*.*' # 확장자명
$fsw = New-Object IO.FileSystemWatcher $folder, $filter -Property @{IncludeSubdirectories = $true;NotifyFilter = [IO.NotifyFilters]'FileName,LastWrite'}
Register-ObjectEvent $fsw Renamed -Action {
$path = $Event.SourceEventArgs.FullPath
$changeType = $Event.SourceEventArgs.ChangeType
$timeStamp = $Event.TimeGenerated
$datestamp = get-date -uformat "%Y-%m-%d %H-%M-%S"
$Computer = get-content env:computername
$Body = " $path on $Computer was $changeType at $timeStamp"
$PIECES=$path.split("")
$newfolder=$PIECES[-2]
$squery = "begin tran;"
$squery +="DB insert 내역 ";
$squery += "commit;"
#DB연결
$dbconn = New-Object System.Data.SqlClient.SqlConnection("Data Source=$sqlserver; Initial Catalog=$dbname; User ID=$sqlusr; Password=$sqlpw")
$dbconn.Open()
$dbwrite = $dbconn.CreateCommand()
#쿼리 입력
$dbwrite.CommandText = $squery
$res = $dbwrite.ExecuteNonQuery()
#DB종료
$dbconn.Close()
}