執行環境: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...