RedPlug's Tory

https://gallery.technet.microsoft.com/scriptcenter/Find-HBA-and-WWPN-53121140



Get-WmiObject -class MSFC_FCAdapterHBAAttributes -namespace "root\WMI" | ForEach-Object {(($_.NodeWWN) | ForEach-Object {"{0:x}" -f $_}) -join ":"}

1. 우분투 설치

- Ubuntu Desktop 18.04 버젼 설치 하여 테스트 진행

- Namenode * 1ea, DataNode * 3ea 설치 진행

 노드

Hostname

IP 

 비고

NameNode

 master

192.168.0.200 

 

DataNode 01

 slave01

192.168.0.201 

 

DataNode 02 

 slave02

192.168.0.202 

 

DataNode 03

 slave03

 192.168.0.203

 



2. 패키지 업데이트 & 업그레이드

sudo apt-get update && sudo apt-get upgrade

3. 레파지토리 추가 및 패키지 업데이트

sudo add-apt-repository ppa:webupd8team/java

sudo apt-get update

자바 설치, 자바 업그레이드, 설치 확인

sudo apt-get install oracle-java8-installer

sudo apt-get upgrade

java -version

하둡 그룹 생성

sudo addgroup hadoop

하둡 계정 생성

sudo adduser --ingroup hadoop hduser

관리자 권한 추가

sudo nano /etc/sudoers


hduser 라인 추가

# User privilege specification

root        ALL=(ALL:ALL) ALL

hduser    ALL=(ALL:ALL) ALL


hosts파일 수정 내용 추가 (namenode,datanode 모두 수정)
sudo nano /etc/hosts 
하기 내용 추가
192.168.0.200   master
192.168.0.201   slave01
192.168.0.202   slave02
192.168.0.203   slave03

ssh 설치 +rsa키 설정

apt-get install openssh-server

sudo su hduser
cd
ssh-keygen -t rsa -P ""
cat $HOME/.ssh/id_rsa.pub >> $HOME/.ssh/authorized_keys

scp -rp ~/.ssh/authorized_keys hduser@slave01:~/.ssh/authorized_keys
scp -rp ~/.ssh/authorized_keys hduser@slave02:~/.ssh/authorized_keys
scp -rp ~/.ssh/authorized_keys hduser@slave03:~/.ssh/authorized_keys


*SSH 접속을 위하여 마스터 서버에서 모두 복사(편의상 실 운용 서버는 아마 별도로 만들어서 authorized_keys에 추가로 복사해줘야 하는것으로 보여짐)
scp -rp ~/.ssh/id_rsa hduser@slave01:~/.ssh/id_rsa
scp -rp ~/.ssh/id_rsa hduser@slave02:~/.ssh/id_rsa
scp -rp ~/.ssh/id_rsa hduser@slave03:~/.ssh/id_rsa
scp -rp ~/.ssh/id_rsa hduser@slave01:~/.ssh/id_rsa.pub
scp -rp ~/.ssh/id_rsa hduser@slave02:~/.ssh/id_rsa.pub
scp -rp ~/.ssh/id_rsa hduser@slave03:~/.ssh/id_rsa.pub

/home/redplug/.ssh/authorized_keys: No such file or directory 라고 노출될 경우 .ssh폴더 생성하여야 함.



하둡 다운로드&압축풀기&설치위치 변경
wget http://mirror.navercorp.com/apache/hadoop/common/hadoop-2.7.7/hadoop-2.7.7.tar.gz

tar zxvf hadoop-2.7.7.tar.gz

sudo mv ./hadoop-2.7.7 /usr/local/hadoop/

sudo chown hduser:hadoop -R /usr/local/hadoop
네임노드,데이터노드 폴더 만들기

마스터 노드

sudo mkdir -p /usr/local/hadoop_tmp/hdfs/namenode

sudo mkdir -p /usr/local/hadoop_tmp/hdfs/datanode

sudo chown hduser:hadoop -R /usr/local/hadoop_tmp/

sudo chmod 777 /usr/local/hadoop_tmp/


데이터노드

sudo mkdir -p /usr/local/hadoop_tmp/hdfs/datanode

sudo chown hduser:hadoop -R /usr/local/hadoop_tmp/

sudo chmod 777 /usr/local/hadoop_tmp/

bashrc 수정
> 부팅 시 자동실행되는 파일(Windows autoexec.bat파일과 같은 역할)
cd ~
sudo nano .bashrc

하기내용 기입
#  -- HADOOP ENVIRONMENT VARIABLES START -- #
export JAVA_HOME=/usr/lib/jvm/java-8-oracle
export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin
export PATH=$PATH:$JAVA_HOME/bin
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"
#  -- HADOOP ENVIRONMENT VARIABLES END -- #

bashrc적용
source .bashrc

* JAVA_HOME 위치 : java -XshowSettings:properties -version 2>&1 > /dev/null | grep 'java.home' 에서/jre빼면됨.


hadoop-env.sh 수정
sudo nano $HADOOP_HOME/etc/hadoop/hadoop-env.sh

export JAVA_HOME=${JAVA_HOME} 하단에 JAVA_HOME위치 기입
export JAVA_HOME='/usr/lib/jvm/java-8-oracle'



core-site.xml 수정 (모든노드 수정)
sudo nano $HADOOP_HOME/etc/hadoop/core-site.xml

<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://master:9000</value>
    </property>
</configuration>



hdfs-site.xml 수정
마스터 노드

sudo nano $HADOOP_HOME/etc/hadoop/hdfs-site.xml

<configuration>
    <property>
        <name>dfs.replication</name>
        <value>2</value>
    </property>
    <property>
        <name>dfs.permissions</name>
        <value>false</value>
    </property>
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>/usr/local/hadoop_tmp/hdfs/namenode</value>
    </property>
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>/usr/local/hadoop_tmp/hdfs/datanode</value>
    </property>
</configuration>

슬레이브 노드

sudo nano $HADOOP_HOME/etc/hadoop/hdfs-site.xml

<configuration>
    <property>
        <name>dfs.replication</name>
        <value>2</value>
    </property>
    <property>
        <name>dfs.permissions</name>
        <value>false</value>
    </property>
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>/usr/local/hadoop_tmp/hdfs/datanode</value>
    </property>
</configuration>


yarn-site.xml 수정

sudo nano $HADOOP_HOME/etc/hadoop/yarn-site.xml


<configuration>

    <property>

        <name>yarn.nodemanager.aux-services</name>

        <value>mapreduce_shuffle</value>

    </property>

    <property>

        <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>

        <value>org.apache.hadoop.mapred.ShuffleHandler</value>

    </property>

</configuration>


mapred-site.xml 수정

cp $HADOOP_HOME/etc/hadoop/mapred-site.xml.template $HADOOP_HOME/etc/hadoop/mapred-site.xml



sudo nano $HADOOP_HOME/etc/hadoop/mapred-site.xml


<configuration>

    <property>

        <name>mapreduce.framework.name</name>

        <value>yarn</value>

    </property>

</configuration>



masters, slaves 파일 편집

sudo nano $HADOOP_HOME/etc/hadoop/masters


master


sudo nano $HADOOP_HOME/etc/hadoop/slaves

master

slave01

slave02

slave03



네임노드 포멧(마스터노드만)

hdfs namenode -format

start-dfs.sh, start-yarn.sh 실행 및 확인(jps)

start-dfs.sh

start-yarn.sh


jps


> start-dfs.sh

NameNode, SecondaryNameNode, DataNode 가 실행

> start-yarn.sh

master에서는 ResourceManager, NodeManager 실행, slave NodeManager 실행


> http://master:50070 / 9000 액티브 확인 , 라이브노드 4개여야 함

> http://master:8088  / yarn 확인


맵리듀스 테스트

- 테스트용 파일을 HDFS에 업로드


hdfs dfs -mkdir /input

hdfs dfs -copyFromLocal /usr/local/hadoop/README.txt /input

hdfs dfs -ls /input

hadoop jar /usr/local/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.7.jar wordcount /input/README.txt ~/wordcount-output


- 결과 디렉톨 확인

hdfs dfs -ls ~/wordcount-output

>  SUCCESS 있으면 성공, 파트 파일에 실해 정보 값 표기


- 실행 결과 확인

hduser@master:/usr/local/hadoop$hdfs dfs -cat ~/wordcount-output/part-r-00000


....

source  1

the     8

this    3

to      2

under   1

use,    2

uses    1

using   2

visit   1

website 1

which   2

wiki,   1

with    1

written 1

you     1

your    1

hduser@master:/usr/local/hadoop$

hduser@master:/usr/local/hadoop$

 






하둡 테스트


멀티노드 클러스터

- master ,slave1~3 서버, 네트워크 설정

- /etc/hosts 파일 설정에서 각 서버에 대한 DNS 설정

- /etc/hostname 파일 수정

- /bin/hostname -F /etc/hostname

> hostname 쳐서 확인

- 재부팅

- SSH 공개키 복사 작업

> scp -rp ~/.ssh/authorized_keys root@slave1:~/.ssh/authorized_keys

> scp -rp ~/.ssh/authorized_keys root@slave2:~/.ssh/authorized_keys

> scp -rp ~/.ssh/authorized_keys root@slave3:~/.ssh/authorized_keys

- 노드간 SSH 접속 설정(master~ slave3까지 모두 작업)

> ssh master
> exit
> ssh slave1

> exit
> ssh slave2

>  exit

> ssh slave3

- hadoop-env.sh 수정 (master에서 실행)

> gedit $HADOOP_HOME/etc/hadoop/hadoop-env.sh

> 25라인 JDK 경로 수정 : export JAVA_HOME=/usr/local/jdk1.8

> 104번 라인 하둡 데몬의 pid 저장 경로 수정 : export HADOOP_PID_DIR=/home/centos/hadoop-2.9.0/pids

- core-site.xml 수정 (모든 노드에서 실행)

> gedit $HADOOP_HOME/etc/hadoop/core-site.xml

> localhost:9000 > master:9000로 수정


- hdfs-site.xml 수정 (master)

> $HADOOP_HOME 하위에 namenode와 datanode 디렉토리 생성

> rm -rf $HADOOP_HOME/namenode

> mkdir $HADOOP_HOME/namenode

> chwon root -R $HADOOP_HOME/namenode

> chmod 777 $HADOOP_HOME/namenode

> rm -rf $HADOOP_HOME/datanode

> mkdir $HADOOP_HOME/datanode

> chwon root -R $HADOOP_HOME/datanode

> chmod 777 $HADOOP_HOME/datanode

> gedit $HADOOP_HOME/etc/hadoop/hdfs-site.xml

> dfs.replication 1 > 2로 수정

> dfsnamenode.name.dir, dfs.datanode.data.dir 내용 추가

- hdfs-site.xml 수정 (slave123)

> $HADOOP_NODE 하위에 datanode 생성

> rm -rf $HADOOP_HOME/datanode

> mkdir $HADOOP_HOME/datanode

> chwon root -R $HADOOP_HOME/datanode

> chmod 777 $HADOOP_HOME/datanode

> gedit $HADOOP_HOME/etc/hadoop/hdfs-site.xml
> dfs.replication 1 > 2로 수정

> dfs.datanode.data.dir 내용 추가

- 잡트래커 설정(모든노드)

> cp $HADOOP_HOME/etc/hadoop/mapred-site.xml-template $HADOOP_HOME/etc/hadoop/mapred-site.xml

> gpedit $HADOOP_HOME/etc/hadoop/mapred-site.xml

> mapreduce.framework.name yarn 추가

- yarn-size.xml 파일 수정 (모든노드)

> gedit $HADOOP_HOME/etc/hadoop/yarn-site.xml

> 기본 옵션 설정으로 수정

- masters, slaves 파일 수정(master만 수정)

> gedit $HADOOP_HOME/etc/hadoop/masters

> master

> gedit $HADOOP_HOME/etc/hadoop/slaves

> master
    slave1
    slave2
    slave3

- 네임노드 포멧(master에서만 실행), 하둡가동, HDFS 폴더 생성

> $HADOOP_HOME/bin/hdfs namenode -format

- 방화벽 내림 (모든노드)

> systemctl stop firewalld.service

> systemctl disable firewalld.service

- DFS, YARN 시작 (master만 실행)

> start-dfs.sh

NameNode, SecondaryNameNode, DataNode 가 실행

> start-yarn.sh

master에서는 ResourceManager, NodeManager 실행, slave NodeManager 실행

> 확인은 jps

> http://master:50070 / 9000 액티브 확인 , 라이브노드 4개여야 함

> http://master:8088  / yarn 확인


분석 프로그램 실행

- 맵리듀스 jab을 실행하기 위해 HDFS 데릭토리 만듬(master)

> hdfs dfs -mkdir /user

> hdfs dfs -mkdir /user/root

> hdfs dfs -mkdir /user/root/conf

- 하둡 쉘 커맨드로 확인(master)

> hdfs dfs -ls

- 하둡파일시스템에 파일 업로드

> hdfs dfs put $HADOOP_HOME/etc/hadoop/hadoop-env.sh /user/conf/hadoop-env.sh

- 업로드 파일 확인

> hdfs dfs -ls /

> hdfs dfs -ls /user

> hdfs dfs -ls /user/conf / hadoop-env-sh 파일 제대로 올라왔는지 확인



- 테스트용 파일을 HDFS에 업로드

hdfs dfs -mkdir /input

hdfs dfs -copyFromLocal /usr/local/hadoop/README.txt /input

hdfs dfs -ls /input

hadoop jar /usr/local/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.7.jar wordcount /input/README.txt ~/wordcount-output


- 결과 디렉톨 확인

hdfs dfs -ls ~/wordcount-output



>  SUCCESS 있으면 성공, 파트 파일에 실해 정보 값 표기

- 실행 결과 확인

> hdfs dfs -cat ~/wordcount-output/part-r-00000



- 로컬로 다운

> hdfs dfs -copyToLocal ~/wordcount-output/part-r-00000 /home/centos/result.txt

> head -5 /home/centos/result.txt / 5줄만 머리에 출력

- 두번 실행하게 되면 에러 발생 아웃풋 디렉토리는 삭제하여야 함

> hdfs dfs -rm -r ~/wordcount-output // r은 하위디렉토리 까지 삭제

- master:50070에서 사용량 확인 가능


명령어 관련내용

- 형식 : hdfs dfs -명령어 옵션

> dfs : Distributed Filesystem Shell (분산 파일 시스템 쉘)


- help : 도움말

> hdfs dfs -help

> hdfs dfs -help ls // ls 명령어에 대한 도움말


- ls : 파일 목록 보기

> hdfs dfs -ls //// 경로 없을경우 사용자 계정의 홈 디렉토리 조회

> hdfs dfs -ls conf / 해당 디렉토리 파일 목록 조회

> hdfs dfs -ls -R / 하위 디렉토리 목록까지 출력

> master 뿐만 아니라 slave에도 동일하게 실행 가능


- du : 파일용량 확인

> hdfs dfs -du : 디렉토리 또는 파일의 사용량을 바이트 단위로 출력

> hdfs dfs -du -s : 해당 디렉토리의 전체용량만(합계) 출력


- cat, text : 파일내용 보기

> cat : 텍스트 파일 전용

> hdfs dfs -cat conf/hadoop-env.sh

> text : 텍스트 파일과 압축파일도 읽을 수 있음

> hdfs dfs -text conf/hadoop-env.sh


- mkdir : 디렉토리 생성

> hdfs dfs -mkdir input

> hdfs dfs ls 


- put, copyFromLocal,get, copyToLocal, getmerge, cp : 파일 복사

> hdfs dfs -put $HADOOP_HOME/etc/hadoop/core-site.xml input

input 경로로 복사

> hdfs dfs -ls input

> hdfs dfs -copyFromLocal : 로컬 파일시스템에서 하둡분산파일 시스템으로 복사

> hdfs dfs -copyFromLocal $HADOOP_HOME/etc/hadoop/core-site.xml input/a : input폴더에 a이름으로 변경하여 복사

> hdfs dfs -get input/a a : HDFS의 input/a 를 로컬시스템 에 현재폴더에 a라는 파일이름으로 복사

> ls -la

> hdfs dfs -copyToLocal input/a b : HDFS의 input/a 파일을 로컬시스템에 b라는 파일명으로 변경하여 복사

> cat b

> hdfs dfs -getmerge : 머지하여 복사

> hdfs dfs -getmerge input c : HDFS의 input디렉토리의 파일을 로컬시스템의 c파일에 머지하여 복사

> cat c

> ls -la : c파일 용량 확인

> hdfs dfs -cp conf/hadoop-env.sh hadoop-env-copy.sh : HDFS서버에서 HDFS서버로 파일 복사

> hdfs dfs -ls

> hdfs dfs -ls /user/root


- mv, moveFromLocal : 파일이동

>  hdfs dfs -mv input/a input/a2 : input/a 파일을 input/a2로 옮김 (HDFS간 옮김)

> hdfs dfs -moveFromLocal : 로컬 시스템에서 하둡 분산파일 시스템으로 옮김

> hdfs dfs -mkdir temp

> hdfs dfs -moveFromLocal a temp/a : 로컬시스템의 a파일을 HDFS의 temp/a파일로 옮김


- rm : 디렉토리나 파일 삭제

> hdfs dfs -rm temp/a : temp 디렉토리의 a파일 삭제

> hdfs dfs -rm temp : temp 디렉토리 삭제

> hdfs dfs -rm -r input : input 디렉토리 및 하위 디렉토리, 파일까지 다 삭제 


- count : 카운트값 조화

> hdfs dfs -count conf : 디렉토리, 파일, 파일사이즈


- tail : 파일의 마지막 내용 확인

> hdfs dfs -tail hadoop-env-copy.sh


- chmod : 권한변경

> hdfs dfs -chmod 777 conf : conf 디렉토리 권한을 777로 변경

> 폴더 내 하위 파일까지 권한 변경하는 방법 확인

> hdfs dfs -ls : conf 권한 변경 확인

> 유닉스 파일 권한 : 10자리
    디렉토리(1) 소유자(3) 그룹(3) 전체(3)

r 읽기(4)

w 쓰기(2)

x 실행(1)


- touchz : 0바이트 파일 생성

> hdfs dfs -touchz test.txt

> hdfs dfs -ls


redplug입니다.


Exchange 사서함 용량 추출 스크립트입니다.

실제로 돌리면 파일이 2개가 떨어지게 됩니다.

1번파일은 Guid, displayname, Database, ItemCount, TotalSize

2번파일은 Guid, Displayname, Account, Database, WindowsEmailAddress


양쪽 둘 다 값이 필요하신 경우 Guid값 기준으로 csv파일을 합쳐주시면 됩니다.


 $DBS = "DB1", "DB2"

foreach ($DB in $DBS)

{

$today = (Get-Date).ToString("yyyyMMdd")

$Exportcsv = $today + "_" + $DB

Get-MailboxStatistics -Database $DB | Select MailboxGuid,DisplayName, database, ItemCount, @{name="TotalItemSize (MB)"; expression={[math]::Round(($_.TotalItemSize.ToString().Split("(")[1].Split(" ")[0].Replace(",","")/1MB),2)}} | Sort-Object TotalItemSize -Descending | Export-CSV c:\work\csv\$Exportcsv.csv -Encoding UTF8 -NoTypeInformation


get-mailbox -Database $DB -resultsize unlimited | Select ExchangeGuid,DisplayName,Name,Database,windowsemailaddress | Sort-Object TotalItemSize -Descending | Export-CSV c:\work\csv\$Exportcsv"_2".csv -Encoding UTF8 -NoTypeInformation

}




해당 두 파일 합치기 위한 Join-Object 확인중


.\join-object.ps1


$L = Import-csv -Path D:\Work\join-object\20181218_DB-08A.csv


$R = Import-csv -Path D:\Work\join-object\20181218_DB-08A_2.csv


Join-Object -Left $L -Right $R -LeftJoinProperty MailboxGuid -RightJoinProperty ExchangeGuid -Type AllInBoth -Prefix r_ | export-csv D:\work\join-object\test.csv -Encoding UTF8 -NoTypeInformation

 

출처 : http://ramblingcookiemonster.github.io/Join-Object/

join-object.zip



netlogon 로깅

Windows2018. 9. 20. 15:54


시작

nltest /dbflag:0x2080ffff


종료

nltest /dbflag:0x0


로그 파일 위치

%windir%\debug\netlogon.log


참고링크

https://support.microsoft.com/ko-kr/help/109626/enabling-debug-logging-for-the-netlogon-service

파워쉘 반복문

Windows2018. 8. 30. 10:16

for(;;) {명령어;sleep 10}


간단한건데 자꾸 까먹길래 적어둡니다.


안녕하세요. Redplug입니다.


Windows 10 1709 사용자중 일부 사용자에서 Lync(S4b) 로그인 후 Lync 인증서 발급 후에

인증서 선택화면이 발생(저희쪽은 무선 연결 시 발생하지 않던 인증서 선택 창이 노출되었습니다.)할 경우에 

처리 방법입니다.


해당 방법은 Lync인증서를 개인용 인증서에서 별도 LyncCertStore 인증서 위치로 변경 하는 방법입니다.


1. Lync 로그아웃 > 내 로그인 정보 삭제



2. 레지스트리 수정 : 버젼에 맞게 HKLM 혹은 HKCU 둘중에 하나 수정 (수정파일 하단에 첨부)

> Skype for business 2015

- HKLM\SOFTWARE\Policies\Microsoft\Office\15.0\Lync > Dword 생성 UseLyncCertStore 값 1

- HKCU\SOFTWARE\Policies\Microsoft\Office\15.0\Lync > Dword 생성 UseLyncCertStore 값 1

> Skype for business 2016

- HKLM\SOFTWARE\Policies\Microsoft\Office\16.0\Lync > Dword 생성 UseLyncCertStore 값 1

- HKCU\SOFTWARE\Policies\Microsoft\Office\16.0\Lync > Dword 생성 UseLyncCertStore 값 1


3. 재부팅 후 Lync 로그인


5. 인증서 위치 변경 확인


@레지스트리 수정파일

UseLyncCertStore.zip


@참고링크

https://blogs.technet.microsoft.com/dodeitte/2015/05/31/how-to-change-the-certificate-store-used-for-lync-client-certificates/

안녕하세요 Redplug입니다.




'CredSSP 암호화 Oracle 수정 때문일 수 있습니다.'라는 문구 메세지 포함된 경고 문구가 노출되며 원격 데스크톱 접속이 안되는 경우 처리방법입니다.


CredSSP 프로토콜 원격 코드 실행 취약성 이슈로 관련 업데이트 진행하지 않을 시 차단시키는 이슈이며,

처리방법은 하기와 같습니다.


1. 접속 클라이언트 PC > 실행 > gpedit.msc

2. 컴퓨터 구성 > 관리 템플릿 > 시스템 > 자격 증명 위임 > Oracle 수정 암호화

3. 사용 체크 > 보호수준 '취약' 변경

4. gpupdate /force 혹은 재부팅 진행




참고

https://support.microsoft.com/ko-kr/help/4093492/credssp-updates-for-cve-2018-0886-march-13-2018

http://www.catalog.update.microsoft.com/Search.aspx?q=KB4093120

https://portal.msrc.microsoft.com/ko-kr/security-guidance/advisory/CVE-2018-0886

OSX나 IOS상에서는 L2TP가 접속이 되나 WIndows 에서 접속이 불가능 한 경우

VPN서버가 NAT IP를 가지고 서비스 할 경우 접속이 불가한 경우가 발생 하며

하기 레지스트리 값을 추가한 후 재부팅 진행하면 정상적으로 접근이 가능합니다.

테스트는 윈도우VPN서버에서 테스트하였습니다.


For Windows XP:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\IPSec

RegValue: AssumeUDPEncapsulationContextOnSendRule

Type: DWORD

Data Value: 2

For Windows Vista, 7, 8, 10, and 2008 Server:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\PolicyAgent

RegValue: AssumeUDPEncapsulationContextOnSendRule

Type: DWORD

Data Value: 2 



출처 : https://github.com/StreisandEffect/streisand/issues/291



$id = gwmi Win32_Service -Filter "Name LIKE 'WinRM'" | select -expand ProcessId

Stop-Process -Id $id -Force

gsv winrm | start-service

gsv winrm


Status   Name               DisplayName

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

Running  winrm              Windows Remote Management (WS-Manag..

Set-mailbox -Identity Redplug -DeliverToMailboxAndForward $True -Forwardingsmtpaddress redplug@gmail.com


(Forwardingsmtpaddress는 GUI상에서 노출되지 않음)

상기와 같이 내부메일을 외부메일을 포워딩 하는 파워쉘을 실행 시

내부는 전송이 되나 외부로 전송이 되지 않는 현상이 발생하여 확인해보니

외부 도메인에 대한 AutoForwardEnabled가 설정이 되지 않아 발생하는 증상이라고 합니다.


해당 도메인에 대한 AutoForwardEnabled를 활성화 하기 위해서는 하기와 같이 명령어를 사용하시면 됩니다.


New-RemoteDomain -Name remoteDomainGmailForward -DomainName "gmail.com"


(AutoForwardEnabled Default값은 Ture)


상기 외 다른 방법으로는 Exchange에서 연락처 등록을 한 후 Forwardingsmtpaddress가 아닌 forwardaddress로 등록하여 설정도 가능합니다.


@출처

http://techgenix.com/exchange-mailbox-forwardingsmtpaddress-setting-not-working/