使用PowerShell 修改DNS並加入域中

2022-05-06 17:03:11 字數 1137 閱讀 4521

執行環境:windows server 2012 r2

此powershell指令碼為自動修改本機dns並加入到域中

但有的時候會提示【本地計算機當前不是域的一部分。請重新執行指令碼!】錯誤,如遇到該錯誤可按照提示重新執行指令碼

若多次執行後還是報錯,錯誤原因是指令碼將本機加入到域中,但是域控中未出現本機所致

終級解決方案:退出域後手動加域,這種方式大概率在域控中能找到本機

#

自動修改本機dns並加入到域中

# author:lttr

# date:2019-08-09

#eg.

#c:\domain.ps1 -dns "1.1.1.1","2.2.2.2" -domain "test.com" -username "admin" -password "123"

[cmdletbinding()]

param

(

#dns列表,可設定兩個

[parameter(mandatory=$true,position=0)][string]$dns

, #網域名稱

[parameter(mandatory=$true,position=1)][string]$domain

,

#域賬戶

[parameter(mandatory=$true,position=2)][string]$username

,

#域賬戶密碼

[parameter(mandatory=$true,position=3)][securestring]$password

)$wmi = get-wmiobject win32_networkadapterconfiguration -filter

"ipenabled = 'true'"#

設定dns  

$wmi.setdnsserversearchorder($dns)>$null

#驗證dns是否設定成功

if(($wmi.dnsserversearchorder | foreach-object).count -eq

$dns

.count)

else

}catch

}else

Powershell使用管道

管道並不是什麼新事物,以前的cmd控制台也有重定向的命令,例如dir more可以將結果分屏顯示。傳統的cmd管道是基於文字的,但是powershell是基於物件。ps ls sort object descending name select object name,length,lastwrit...

Powershell使用管道

管道並不是什麼新事物,以前的cmd控制台也有重定向的命令,例如dir more可以將結果分屏顯示。傳統的cmd管道是基於文字的,但是powershell是基於物件。ps ls sort object descending name select object name,length,lastwrit...

使用PowerShell傳送郵件

本文以163郵箱為例,介紹使用powershell傳送郵件的方式,以下為指令碼內容。恢復powershell的預設執行策略,預設不允許執行任何指令碼 set executionpolicy default force 設定powershell的執行策略為,可以執行任何指令碼 set executio...