batch 배치 파일을 exe 실행 파일로 변환하기 (윈도우즈 기본 기능 : iexpress.exe) - gui, cli 둘다 지원

윈도우즈/OS 일반|2020. 5. 29. 15:30
반응형

윈도우즈의 iexpress.exe 파일을 이용하면 배치 파일을 exe 실행 파일로 변환 시킬 수 있습니다.

파일을 찾아 더블클릭하여 GUI 환경에서 셋팅도 가능하며,

아래와 같이 convert.bat 파일을 만들어 cmd 화면에서 cli 명령으로 변환도 가능합니다.


본래는 패키지 만드는 도구이지만 이렇게 하나의 배치파일도 exe 파일로 변환이 가능합니다.

여기에서는 command line 에서 변환하는 방법을 안내 드립니다.


변환 도구를 아래와 같이 작성합니다.


1. 명령 프롬프트에서 사용시


convert.bat


;@echo off

; rem https://github.com/npocmaka/batch.scripts/edit/master/hybrids/iexpress/bat2exeIEXP.bat

;if "%~2" equ "" (

; echo usage: %~nx0 batFile.bat target.Exe

;)

;set "target.exe=%__cd__%%~2"

;set "batch_file=%~f1"

;set "bat_name=%~nx1"

;set "bat_dir=%~dp1"


;copy /y "%~f0" "%temp%\2exe.sed" >nul


;(echo()>>"%temp%\2exe.sed"

;(echo(AppLaunched=cmd.exe /c "%bat_name%")>>"%temp%\2exe.sed"

;(echo(TargetName=%target.exe%)>>"%temp%\2exe.sed"

;(echo(FILE0="%bat_name%")>>"%temp%\2exe.sed"

;(echo([SourceFiles])>>"%temp%\2exe.sed"

;(echo(SourceFiles0=%bat_dir%)>>"%temp%\2exe.sed"

;(echo([SourceFiles0])>>"%temp%\2exe.sed"

;(echo(%%FILE0%%=)>>"%temp%\2exe.sed"



;iexpress /n /q /m %temp%\2exe.sed


;del /q /f "%temp%\2exe.sed"

;exit /b 0


[Version]

Class=IEXPRESS

SEDVersion=3

[Options]

PackagePurpose=InstallApp

ShowInstallProgramWindow=0

HideExtractAnimation=1

UseLongFileName=1

InsideCompressed=0

CAB_FixedSize=0

CAB_ResvCodeSigning=0

RebootMode=N

InstallPrompt=%InstallPrompt%

DisplayLicense=%DisplayLicense%

FinishMessage=%FinishMessage%

TargetName=%TargetName%

FriendlyName=%FriendlyName%

AppLaunched=%AppLaunched%

PostInstallCmd=%PostInstallCmd%

AdminQuietInstCmd=%AdminQuietInstCmd%

UserQuietInstCmd=%UserQuietInstCmd%

SourceFiles=SourceFiles


[Strings]

InstallPrompt=

DisplayLicense=

FinishMessage=

FriendlyName=-

PostInstallCmd=<None>

AdminQuietInstCmd=

UserQuietInstCmd= 


그리고 변환이 필요한 bat 파일이 있다면 (예: run.bat) 아래 예시와 같이 명령을 수행하면 됩니다.


c:\> convert.bat run.bat run.exe



[출처] https://stackoverflow.com/questions/28174386/how-can-a-bat-file-be-converted-to-exe-without-third-party-tools



2. GUI 환경에서 사용시


순차적으로 실행 합니다.


시작 > 실행 > iexpress 입력 후 엔터


Create new Self Extraction Directive file.


Extract files and run an installation command


타이틀 이름 적기


No prompt


Do not display a license


Package file

> 압축할 파일을 찾기 (bat 파일)


Install Program to Launch

> exe 실행시 압축 해제 후 사용할 기본 명령어

> setup.bat 파일을 변환한다면 아래와 같이 입력

> cmd.exe /c "setup.bat"


Default (recommended)


No message


Package name and Options

> (exe 변환 파일 저장 위치) 찾아보기 누른 뒤 경로와 생성할 exe 파일명 지정


No restart


Save Self Extraction Directive (SED) file  (중요치않다)


Create package


끝.


* 참고로 파일명은 setup.bat > setup.exe 으로 했을때 잘 실행되지만

   이상하게 다른 이름을 사용하면 실행이 되지 않는다.

   (예: applypatch.bat > applypatch.exe)


* exe 로 실행시 %~dp0 이나 %~s0 의 기본 변수는 사용되지 못함에 주의

반응형

댓글()

윈도우10 USB 부팅 디스크 만들기(우분투에서)

윈도우즈/OS 일반|2019. 6. 4. 09:35
반응형

우분투 리눅스에서 윈도우10 USB 부팅 디스크를 만드는 방법은 아래와 같습니다.

1. Window 10 ISO 다운로드

아래 링크에서 Window 10 ISO 파일을 다운로드 받습니다.

 

Windows 10 디스크 이미지 다운로드(ISO 파일)

www.microsoft.com

<Window 10 다운로드 화면>

2. WoeUSB 다운로드

우분투 터미널을 이용해 WoeUSB 설치합니다.

$ sudo add-apt-repository ppa:nilarimogard/webupd8 $ sudo apt update $ sudo apt install woeusb

<아이콘 모양>

3. USB 메모리 포맷

USB 부팅 디스크를 만들기 위해 USB 메모리를 포맷합니다. 포맷 종류(파일 시스템 종류)는 크게 '모든 시스템과 장치에 호환(FAT)', '대부분의 시스템과 호환(NTFS)', '리눅스 시스템과 호환(EXT4)', '암호화, 리눅스 시스템과 호환(LUKS + EXT4)' 4가지로 분류되는데 EXT4, LUKS+EXT4 를 제외한 나머지는 윈도우 파일 시스템으로 모든 또는 대부분의 시스템과 호환된다고 명시되어 있으나FAT 이나 NTFS 로 포맷을 했을 경우 부팅 디스크를 만드는 과정에서 오류가 발생할 수도 있습니다.

(화면 상에는 정상적으로 포맷된 것처럼 보이나 부팅 디스크를 만들 때 디바이스(USB)에 마운트된 모든 것들에 대한 언마운트 실행 오류가 발생합니다.)

그렇기 때문에 종류는 EXT4 또는 LUKS+EXT4 를 선택하여 포맷 진행합니다.

<USB 포맷>

<포맷 종류(EXT4)>

4. WoeUSB 로 부팅 디스크 설치

위 과정이 모두 진행되었다면 WoeUSB 를 실행하여 부팅 디스크를 설치합니다.

(Target device 는 USB 를 자동 인식합니다.)

<WoeUSB 부팅 디스크 설치>

 

 

[출처] https://m.blog.naver.com/PostView.nhn?blogId=sinjoker&logNo=221242863908&proxyReferer=https%3A%2F%2Fwww.google.com%2F

 

반응형

댓글()

원격으로 윈도우 서버 패스워드 변경하기

윈도우즈/OS 일반|2019. 5. 23. 17:53
반응형

1. 다운로드

아래 URL 에서 유틸리티를 다운로드하고 압축을 풉니다.

https://docs.microsoft.com/ko-kr/sysinternals/downloads/pspasswd

 

PsPasswd v1.24  /  June 29, 2016

PSTools.zip
3.04MB

* 유틸리티를 실행한 테스트 환경은 Windows 2016 였으며,

   해당 유틸리티로 Windows 2012 R2, Windows 2019 Server 패스워드를 변경해 보았습니다.

   이후 Windows 버전이 나온다면 테스트 해보거나, 업데이트된 유틸리티를 받아야 합니다.

 

 

2. 실행

사용 예 : pspasswd \\서버IP -u 로그인계정 -p 패스워드 바꿀계정 바꿀패스워드

C:\PSTools> pspasswd \\192.168.10.2 -u administrator -p 1111 administrator 2222 /accepteula

PsPasswd v1.24 - Local and remote password changer
Copyright (C) 2003-2016 Mark Russinovich
Sysinternals - www.sysinternals.com

Password successfully changed.

 

 

* 처음에 명령 실행할때는 유틸리티 라이센스 확인 창이 뜨지만 (agree 누름) 그 이후부터는 뜨지 않습니다.

  또는 /accepteula 옵션으로 eula 라이센스에 대한 물음을 안받게 할 수도 있습니다.

 

 

반응형

댓글()

MSSQL sqlserver 오류 15404 windows nt 그룹/사용자 에 대한 정보를 가져올 수 없습니다. 오류 코드 sqlstate 42000 connlsloginsysadmin

윈도우즈/MSSQL|2019. 5. 20. 09:44
반응형

메시지

[298] SQLServer 오류: 15404, Windows NT 그룹/사용자 'hostname'\administrator'에 대한 정보를 가져올 수 없습니다.오류 코드 0x534. [SQLSTATE 42000] (ConnIsLoginSysAdmin)

   

hostname은 컴퓨터명입니다. 그리고 administrator는 서버 설치 후 계정명을 바꾸었다면 다르게 나올수도 있습니다.

   

머 일단 이런 메시지가 나오면 확인해봐야 할 사항은

   

Microsoft SQL Server Management Studio 실행하셔서 머 Sa계정이나 시스템계정으로 로그인 하시고

   

개체탐색기 왼쪽에 보면 보안 >> 로그인 하위의 계정들 중에 hostname\administrator가 현재 OS의 계정과

   

동일한지 확인해보세요.

   

아마 십중팔구는 동일하지 않을꺼에요. 그러면 서버 처음 설치했을때는 hostnanme\administrator를 현재 계정명으로

바꿔줘야 합니다. 멀로 바꾸냐구요?

   

개체탐색기의 데이터베이스 연결된 명을 확인해보세요

   

두번째로 서버역할의 sysadmin에도 바꾼 hostname\administrator가 있는지 확인하세요. 보통 로그인의 계정정보를

변경하면 자동으로 sysadmin의 정보도 바뀝니다.

   

혹시 없으면 추가해주세요

 

 

[출처] SQLServer 오류: 15404 발생원인 및 해결방법|작성자 스팀

 

 

 

반응형

댓글()

sql server 복제에서는 서버 연결 시 실제 서버 이름이 필요합니다.

윈도우즈/MSSQL|2019. 5. 17. 16:01
반응형

개발사에서 웹 에서 게임 DB 에 내용을 거의 실시간으로 보여주기 위해 복제 DB 를 설정하다가
복제 생성시 아래와 같은 오류가 발생한다고 Help 요청이 들어왔다.

 

===================================

xxxxxxxxxxxxxx에 연결할 수 없습니다.

===================================

SQL Server 복제에서는 서버 연결 시 실제 서버 이름이 필요합니다. 서버 별칭, IP 주소 또는 다른 대체 이름을 통한 연결은 지원되지 않습니다. 실제 서버 이름 'xxxxxxxxxxxxxx'을(를) 지정하십시오. (Replication.Utilities)

------------------------------
프로그램 위치:

   위치: Microsoft.SqlServer.Management.UI.ReplicationSqlConnection.CheckServerAlias(ServerConnection conn)
   위치: Microsoft.SqlServer.Management.UI.ReplicationSqlConnection.ValidateConnection(UIConnectionInfo connInfo, IServerType server)
   위치: Microsoft.SqlServer.Management.UI.ConnectionDlg.Connector.ConnectionThreadUser()

 

해당 문제는 컴퓨터 이름을 변경시에 발생한다.

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


이유인 즉 mssql2008을 설치하면 설치시에 서버의 HostName 이  저장된다.
그 후에 해당 서버에 HostName 이 변경 되면서  게시나 복제를 할려면 옛날 서버 이름으로 접근을 해서 위와 같은 오류가 발생한 것이다.

아래와 같이 기존 @@SERVERNAME 이름을 현재 HostName 으로 변경해 주면 된다.

USE master
GO

-- 예전 서버 이름을 확인한다.
SELECT @@SERVERNAME

-- 예전 서버 이름을 버린다.
EXEC sp_dropserver 'Old Server Name', 'droplogins'    // 예전 서버 이름 입력
GO

-- 새 서버 이름을 등록한다.
EXEC sp_addserver 'New Server Name', 'local'    // 새 서버 이름 입력
GO

 

-- 반드시 '서비스 재시작'을 해야 적용 된다.

 

 

[출처] http://egloos.zum.com/runhanii/v/2606562

반응형

댓글()

Wowza streaming 삭제

윈도우즈/OS 일반|2018. 1. 4. 08:37
반응형

1. 프로그램 삭제


제어판의 '프로그램 추가/삭제'나 설치 디렉토리에 있는 uninstall.exe 로도 삭제 진행이 되지 않는다면

uninstall.exe 삭제 진행 창이 떠있는 상태에서 '작업관리자' 를 열고 구동중인 cmd.exe 를 모두 종료하면

삭제가 진행됩니다.


경험상.. 2개가 떠있거나, 1개 종료시 다른 한개가 생성되고 다시 종료 해야 할 수도 있음.



2. 서비스 및 레지스트리 삭제


cmd 창에서 아래처럼 사용가능

> sc delete [서비스 이름]


* 서비스 이름은 services.msc 로 구동하여 '항목 우클릭 > 상세' 에서 보이는 이름을 적으면 됩니다.

반응형

댓글()

원격에서 서버 리부팅하기

윈도우즈/OS 일반|2017. 1. 19. 13:23
반응형

명령프롬프트에서 아래 명령어를 이용해 리부팅을 할 수 있습니다.



1. 접근 권한


우선 아래 명령을 이용하여 원격지 IP 에 대해 접근권한을 얻어냅니다.

(명령 실행 후 사용자 이름과 패스워드를 입력해야 함)


net use \\192.168.10.2



2. 리부팅


리부팅합니다.

shutdown -r -f -t 0 -m \\192.168.10.2


-r 는 리부팅 (-s 는 셧다운)

-f 는 프로그램 종료 기다리지 말고 강제 종료하는것이며

-t 는 딜레이 시간(초)


반응형

댓글()

530 user cannot log in 오류 해결 (IIS 7.5)

윈도우즈/IIS|2016. 10. 20. 11:24
반응형








[출처] http://cafe.naver.com/myvb/65490

반응형

댓글()

배치 파일(.BAT)을 실행 파일(.EXE)로 변환 - Bat To Exe Converter 1.6 (GUI 전용)

윈도우즈/OS 일반|2016. 4. 26. 14:18
반응형

1. Bat To Exe Converter 1.6 소개

보통은 배치 파일을 굳이 실행 파일(executable)로 만들어야 할 이유는 없습니다. 배치 파일 상태로 두더라도 실행에 큰 문제가 없기 때문입니다. 그럼에도 불구하고, 이러한 작업이 필요한 경우가 있습니다.

이유는 여러 가지가 있을 수 있습니다. 실행 코드를 숨기고 싶다거나, 좀 더 멋있게 보이고 싶다거나 하는 이유도 있을 수 있을 것입니다. 배치 파일이 실행될 때에는 항상 콘솔 창(=도스 창)이 보이기 때문에, 이를 보이지 않기 위해서 이 방법을 쓸 수도 있겠습니다.

필자의 경우, 배치 파일을 관리자 권한 하에서 실행하도록 하기 위해 이 방법을 사용하였습니다. 배치 파일 상태에서는, 실행되면서 관리자 권한으로 실행될지 여부를 묻도록 처리할 수가 없고, 사용자가 직접 "관리자 권한으로 실행" 옵션을 주어 실행을 해야 합니다. 그러나 관리자 권한이 필요한 배치 파일을 탐색기 실행 확장에 등록하여 사용하게 되면 이 방법으로 관리자 권한을 줄 수가 없기 때문에, 반드시 실행 파일의 형태로 변환하여 사용할 필요가 있었습니다.

이런 경우 사용할 수 있는 BAT TO EXEC 변환기는 의외로 상당히 역사가 깊습니다. (^^) 그리고 이 글에서 소개하는 프로그램은 그런 변환기 중 하나입니다.

하단의 링크는 이 블로그 계정에 등록된 파일입니다. 위의 제작사 홈페이지에서 직접 다운로드 받으실 것을 강력하게 권장하지만, 혹시 링크가 깨진 경우에는 아래의 복사본을 다운로드 받으셔도 됩니다.

다운로드 (크기: 582KB)

프로그램을 다운로드 받으면 32비트 버전과 64비트 버전이 함께 들어 있으므로 적절한 버전을 사용하면 됩니다.

프로그램을 실행한 결과. 여러 가지 설정을 할 수 있지만, 그냥 상단의 파일 선택 창에 배치 파일만 선택한 후 하단의 Compile 버튼을 눌러도 된다.
프로그램을 실행한 결과. 여러 가지 설정을 할 수 있지만, 그냥 상단의 파일 선택 창에 배치 파일만 선택한 후 하단의 Compile 버튼을 눌러도 된다.

여러 가지 유용한 옵션을 제공하고 있는데, 눈에 띄는 것은 콘솔 창을 숨길지 여부 설정, 관리자 권한이 필요한지 여부 설정, 코드 암호화 설정 등입니다. Versioninformations 탭에서는 실행 파일의 아이콘도 설정할 수 있고, 실행 파일 정보를 입력할 수도 있습니다.

2. 참고 - 악성 코드 진단 문제

많은 종류의 악성 코드 퇴치 프로그램에서 이 프로그램이 생성하는 파일(*.tmp)을 악성코드로 진단할 수 있습니다. 사실 이 프로그램 뿐만 아니라, 현존하는 거의 대부분의 BAT TO EXE 변환기는 (프로그램 그 자체이건, 그 프로그램의 생성물이건) 대다수의 악성 코드 퇴치 프로그램에 의해 악성 코드로 진단되고 있습니다.

필자가 생각하기에는, 실제로 그 프로그램이 악성코드일 수도 있지만, 많은 경우 그 변환기를 이용하여 제작된 악성 코드가 존재하기 때문에, 악성 코드 퇴치 프로그램이 이 악성 코드를 진단하는 과정에서 동일하거나 유사한 코드를 가지고 있는 변환기 그 자체 또는 그 변환기를 이용하여 만들어진 다른 실행 파일들을 아울러 악성 코드로 진단하는 것이 아닌가 합니다. 또는, 프로그램의 동작 방식(스스로 실행 가능한 바이너리를 시스템상에 생성)이 전형적인 트로이 목마(Dropper) 프로그램과 유사하기 때문에 이를 악성코드로 진단하는 것일 수도 있습니다.

실제로, 과거에는 BAT2EXEC 라는 툴을 이용하여 파괴적인 동작을 하는 배치 파일을 실행 파일(.COM 파일)로 변환한 형태의 트로이 목마 프로그램이 다수 존재하였던 시기도 있었습니다. 요즘은 그 자체가 파괴적인 행동을 하기보다는, 이들 배치 파일을 이용하여 트로이 목마 프로그램 등 악성 코드를 시스템에 설치하는 종류의 악성 코드가 이들 툴을 이용하여 제작될 것으로 생각됩니다.

이 프로그램도 많은 악성 코드 퇴치 프로그램이 중간 생성물(*.tmp)을 악성 코드로 진단합니다. 특히 외산 악성 코드 퇴치 프로그램인 BitDefender 엔진에서도 이를 악성코드로 진단하고 있기 때문에, 국내에서 많이 사용되고 있는 알약 등의 악성 코드 퇴치 프로그램에서도 (이들 프로그램이 BitDefender 엔진을 사용하는 관계로) 이 파일을 악성 코드로 진단할 것으로 예상됩니다. V3의 경우, 이 중간 생성물을 Dropper/Win32.Mudrop 으로 진단하여 필자가 직접 안철수연구소에 문의하였으며, 악성코드라고 판단하기 애매한 점이 있어 진단 제외하였다는 회신을 받았습니다.

안철수연구소에서 돌아온 확인결과 회신.
안철수연구소에서 돌아온 확인결과 회신.



[출처] http://www.nightowl.pe.kr/blog/article/426

반응형

'윈도우즈 > OS 일반' 카테고리의 다른 글

Wowza streaming 삭제  (0) 2018.01.04
원격에서 서버 리부팅하기  (0) 2017.01.19
포트 사용 프로세스 확인  (0) 2015.12.29
cwrsync 설정  (0) 2015.01.27
IIS 자동백업 설정  (0) 2015.01.27

댓글()

IIS 7.5 + PHP 연동

윈도우즈/IIS|2015. 12. 30. 12:58
반응형

IIS 7.5 + PHP 연동


1. IIS 역할 추가시 CGI 설치
php_1.jpg 


2. PHP 다운 후 적당한 위치에 압축 해체 (Non Thread Safe – Zip Version 다운로드)
- PHP Download : https://windows.php.net/downloads/releases/archives/

(압축된 NTS 버전 받아서, 압축 해제후 C:\PHP 로 이동)


3. PHP 폴더 내부의 php.ini-production 파일을 php.ini 이름으로 복사
- php.ini 파일에서 아래 항목들 주석 제거 및 수정
extension_dir = "./ext"
extension=php_gd2.dll 

extension=php_mysql.dll    // mysql 연동 필요시 추가

extension=php_mysqli.dll   // mysql 연동 필요시 추가


4. IIS 관리자에서 웹사이트 추가
php_2.jpg 


5. 처리기 매핑  모듈 매핑 추가
php_3.jpg 

php_4.jpg 

[모듈 매핑 추가]

요청 경로 : *.php

모듈 : FastCgiModule

실행 파일 : C:\PHP\php-cgi.exe

이름 : FastCgi


[요청 제한]

[체크] 요청이 다음에 매핑되는 경우에만 처리기 호출

[체크] 파일 또는 폴더

php_5.jpg  
 


6. IIS 재시작 후 테스트용 phpinfo.php 파일 생성 후 테스트
php_6.jpg 
php_7.jpg 



* 접근이 안될경우 확인사항

- 높은 버전의 php 에서 phpinfo 화면이 뜨지 않을 경우 php.ini 설정파일 옵션 short_open_tag = On 으로 수정

- 접근정책에 등록된 사용자가 디렉토리 접근권한이 있는지 확인해야 함 (보안 탭에서 확인)

- X64 기반의 OS에서 호환문제로 인해 FastCgi 에러(Err code : 500) 발생하게 되며, 이런 경우 vcredist_x86 패키지 설치로 해결 가능

   http://www.microsoft.com/ko-kr/download/details.aspx?id=29

vcredist_x86.exe



[출처] http://faq.hostway.co.kr/Windows_Web/3011



반응형

댓글()

포트 사용 프로세스 확인

윈도우즈/OS 일반|2015. 12. 29. 11:48
반응형


한 번에 해결되는 옵션이 있습니다.

netstat -anb



두 차례에 걸쳐 보려면 아래처럼..


C:\Users\zetawiki>netstat -ano | findstr :873
  TCP    0.0.0.0:873            0.0.0.0:0              LISTENING       328
  TCP    [::]:873               [::]:0                 LISTENING       328


C:\Users\zetawiki>tasklist | findstr 328
rsync.exe                      328 Services                   0      4,880 K

 

[출처] http://zetawiki.com/wiki/%EC%9C%88%EB%8F%84%EC%9A%B0_%ED%8F%AC%ED%8A%B8_%EC%82%AC%EC%9A%A9_%ED%94%84%EB%A1%9C%EC%84%B8%EC%8A%A4_%ED%99%95%EC%9D%B8


반응형

댓글()