Skip to content

Instantly share code, notes, and snippets.

@lisysolution
Last active August 29, 2015 14:27
Show Gist options
  • Save lisysolution/7427f3a1075ec464e82f to your computer and use it in GitHub Desktop.
Save lisysolution/7427f3a1075ec464e82f to your computer and use it in GitHub Desktop.
파워쉘 - Server 관리
# ===================================
# Host명 변경
# ===================================
$old_hostname = hostname
$new_hostname = "새로운 Host명"
netdom renamecomputer $old_hostname /newname:$new_hostname /force
# ===================================
# 터미널 접속 포트 방화벽에 추가
# ===================================
New-NetFirewallRule -DisplayName “터미널접속포트” -Direction Inbound -Action Allow -Protocol TCP -LocalPort 3389
# 터미널 기본 포트를 다른 포트로 변경
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-TCP\" -Name PortNumber -Value 33899
# 터미널 서비스 재시작
Restart-Service -Name TermService -Force
# ===================================
# 계정 암호 변경
# ===================================
net user administrator "변경 할 암호"
# ===================================
# 서버에 연결된 Disk Drive를 확인하는 방법
# ===================================
# wmi Win32_DiskDrive 를 이용한 방법
$drives = gwmi Win32_DiskDrive
foreach ($disk in $drives)
{
echo $disk.Caption
# $disk.Partitions 이 "0"인 경우 파티션이 설정 안된 Disk 임 (사용을 위해 파티션 설정과 포맷 필요)
}
#DiskPart를 이용한 방법
"LIST VOLUME" | DiskPart
# ===================================
# Disk를 초기화 하고 파티션을 설정 후 포맷
# ===================================
$drivenumber = "드라이브 번호" # Win32_DiskDrive의 반환값 중에서 DeviceID의 마지막 숫자값
$script = @"
select disk $drivenumber # 특정 Disk선택
clean # 모든 데이터와 구성 정보를 삭제하고 초기화
create partition primary # 파티션 생성
format fs=ntfs quick # 포맷 실행
active # 활성 파티션으로 표시
assign letter=e # 드라이브 문자 할당
"@
$scriptdisk | diskpart
# ===================================
# 네트워크 드라이브 연결
# ===================================
$driveLetter = "Z:"
$Netip="\\ip\dir"
$updateprofile=$False
$Netuser="userid"
$Netpwd="password"
$net = new-object -ComObject WScript.Network
$net.MapNetworkDrive($driveLetter, $Netip, $updateprofile, $Netuser, $Netpwd)
# ===================================
# Local User 생성/삭제
# ===================================
$Netuser = "userid"
$Netpwd = "password"
$objOu = [ADSI]"WinNT://${env:Computername}"
$localUsers = $objOu.Children | where {$_.SchemaClassName -eq 'user'} | % {$_.name[0].ToString()}
if($localUsers -NotContains $Netuser)
{
# User 생성
echo "$Netuser 생성을 시작 합니다."
$objUser = $objOu.Create("User", $Netuser)
$objUser.setpassword($Netpwd)
$objUser.SetInfo()
# User를 그룹에 등록
$objGrp = [ADSI]"WinNT://${env:Computername}/Users"
$objGrp.add("WinNT://${env:Computername}/$Netuser")
}
else
{
# user 삭제
$objOu.Delete("user", $Netuser)
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment