powershell改ip腳本
1. 如何利用windows powershell修改ip地址
電腦修改IP的方法
第一步:搜索:雙魚IP轉換器
第二步:免費注冊賬號
第三步:連接你要修改的目的節點
第四步:打開瀏覽器查詢IP是你修改之後的IP
2. 如何用PowerShell設置虛擬機裡面的ip地址
假定你的伺服器主機名在D盤根目錄下一個叫ServerList的csv文件里,代碼如下:
$ServerList = Import-Csv D:\ServerList.csv
foreach ($Server in $ServerList)
{
$ServerName = $Server.Name
Write-Host $ServerName
$IP = (Get-WmiObject win32_networkadapterconfiguration -ComputerName $ServerName).ipaddress
Write-Output "$ServerName,$IP" >> D:\ServerIPList.txt
}
註:代碼很簡略,如果需要其它信息請追問,我盡力回答。
3. 如何使用Powershell腳本檢查列印機IP在線
1.要先點擊開始 --控制面板 --查看設備和列印機。
2.然後要找到安裝的列印機的圖標,右鍵單擊列印機屬性。
3.然後得選擇埠,點擊添加埠,選擇Standard TCP/IP Port 之後點擊新的埠。
4.然後要在顯示的窗口中點擊下一步。
5.然後輸入列印伺服器的IP地址,點擊下一步。
6.然後要選擇自定義並且點擊設置按鈕。
協議選中LPR ,隊列名稱為lp1 ,並把啟用LPR位元組勾選計數之後點擊確定。
7.接著點擊結束按鈕,完成配置。
8.最後點擊應用按鈕並選中關掉 ,就可以使用列印伺服器共享列印機了。(必須得要點擊應用才可以生效)
4. windows powershell代碼,如果c盤存在b文件夾則將文本文件a中的內容ip=192替換
#說明:由於此腳本涉及服務操作,所以需要以管理員身份運行
#requires-version4.0
#requires–runasadministrator
$d="c:"
$a="a.txt"
if([io.Directory]::Exists($d)){
#在計算機中可能存在多個ip地址
#因此此時ip用數組表示
#同時,在不同的計算機中,ip地址各不相同
#-2表示在ip的數組中倒數第二個地址
#同理,-1表示倒數第一個.-3表示倒數第3個,-n表示倒數第n個,0表示正數第0個,n表示正數第n個
#-2需要根據自己的計算機進行修改
$ip=(Get-NetIPAddress|?AddressFamily-EQ"IPv4").IPAddress
$ip=$ip[-2]
$file=Get-Content$a
$file=$file.Replace("ip=192","ip=$ip")
echo$file>$a
Restart-Service"telnet"
}
5. 怎麼ip地址格式批量轉換
使用「powershell腳本+正則表達式」就可以實現。
(get-contentd:123.txt)-replace"1.0.0.0.[1-255]","1.0.0.0/24"|out-filed:234.txt
將上面的命令復制到文本文檔中,將文本文檔的後綴txt改成ps1,右鍵選擇使用powershell運行。
測試環境:windows7,powershell4.0以上
6. 請教大家,利用WMI修改IP,網關,DNS的問題
以下是使用PowerShell處理的腳本
使用方法:
先將自定義Function的代碼運行一次.
然後用你希望的內容替換掉""里的說明但保留""並運行命令.
另外在修改遠程計算機時會彈出要求輸出賬戶密碼的對話框,請輸入擁有遠程計算機許可權的賬號和密碼.
以下為PowerShell代碼
修改本機:
Set-StaticIPAddress -ComputerName LocalHost -IPAddress "設定後的IP地址" -SubnetMask "子網" -DefaultGateway "默認網關" -DNSServers "DNS伺服器地址"
修改遠程計算機:
Set-StaticIPAddress -ComputerName "要修改的計算機名或者IP地址" -IPAddress "設定後的IP地址" -SubnetMask "子網" -DefaultGateway "默認網關" -DNSServers "DNS伺服器地址" -Credential (Get-Credential)
#以下為自定義Function代碼
Function Set-StaticIPAddress
{
param
(
[Parameter(Mandatory = $true,
Position = 0,
ValueFromPipeline = $true,
= $true)]
[String] $ComputerName
,
[Parameter(Mandatory = $true,
Position = 1)]
[Alias("IPv4Address")]
[String] $IPAddress
,
[Parameter(Position = 2)]
[String] $SubnetMask = "none"
,
[Parameter(Position = 3)]
[String] $DefaultGateway = "none"
,
[Parameter(Position = 4)]
[String[]] $DNSServers = ("172.16.1.36","172.16.1.78")
,
[Parameter(Position = 5)]
[PSCredential] $Credential
)
process
{
# There's some error-checking here that I've snipped out for convenience
Write-Verbose "Testing connection to $ComputerName"
if (-not (Test-Connection $ComputerName))
{
Write-Error "Unable to connect to $ComputerName."
return
}
Write-Verbose "Obtaining remote WMI reference"
if ($Credential)
{
$wmi = Get-WmiObject Win32_NetworkAdapterConfiguration -ComputerName $ComputerName -Filter "IPEnabled = 'True'" -Credential $Credential
} else {
$wmi = Get-WmiObject Win32_NetworkAdapterConfiguration -ComputerName $ComputerName -Filter "IPEnabled = 'True'"
}
Write-Verbose "Attempting to set DNS servers"
$wmi.SetDNSServerSearchOrder($DNSServers)
Write-Verbose "Attempting to set dynamic DNS registration"
$wmi.SetDynamicDNSRegistration($true)
Write-Verbose "Attempting to set static IP address and subnet mask"
$wmi.EnableStatic($IPAddress, $SubnetMask)
Clear-DnsClientCache #This may not be necessary; I added it as a troubleshooting step
Write-Verbose "Attempting to set default gateway"
$wmi.SetGateways($DefaultGateway, 1)
Write-Output $wmi
}
}
7. win7怎樣運行powershell腳本
新版本的PowerShell隨著Windows Server 2012 R2到來。現在,使用PowerShell 4.0的唯一途徑就是獲取並使用Windows Management Framework 4.0。 PowerShell在Windows虛擬化任務方面能發揮最大幫助和用途。現在網上有關於此話題的資料庫,最熱的是TechNet博客中的一個五部分的系列文章。通過這些信息,你可以找到大量有關PowerShell腳本自動化多虛擬化設置、配置和維護任務的相關細節。 TechNet系列文章提供了運行PowerShell腳本的基礎知識 TechNet系列中的內容很好地概述了PowerShell在虛擬化世界裡的作用。該系列還概述了圖形PowerShell介面,提供了將工作進程ID映射到VM的腳本,介紹使用PowerShell WMI創建虛擬硬碟(VHD)時如何創建腳本,如何獲取一台Hyper-V虛擬機的IP地址,如何關閉Hyper-V中的客戶虛擬機,以及如何在Hyper-V中創建一個完整的虛擬網路。 只要有足夠的時間和熱情,你可以利用PowerShell做很多事情。當然,真正的好處在於你可以自動化重復的任務。任務的重復度越高利用率就越高。 CodePlex提供Hyper-V腳本 Windows Server 2012和Windows Server 2012 R2中的可擴展交換機比早期版本容易使用虛擬基礎設施。交換機擴展還意味著你可以使用更新和增強功能而不必白費力氣做重復工作。 CodePlex PowerShell管理庫提供了最好的資料,你可以通過這里的100多條cmdlet找到並連接到VM,觀察和操作機器狀態,備份或出口VM以及處理VHD文件等等。 Hyper-V有自己的cmdlet集合 圖1. Hyper-V PowerShell腳本 Hyper-V 3.0和150條PowerShell cmdlets。你可以使用PowerShell顯示可用資源以及如何運行和使用這些腳本,這需要在正常的PowerShell運行環境中輸入以下命令:Get-Command –Mole Hyper-V(圖1)。 在命令後面附加上-Name *search*就可以得到該條cmdlet的其他細節。*號是通配符,你可以將其替換成想要搜索的字元串,例如add、find等等。Get-Help cmdlet後面可接三種輸出類型:-Examples(代碼實例)、-Detailed(詳細輸出)和-Full(所有信息)。因此,Get-Help Add_VMNetworkAdapter -Examples顯示的是在虛擬機上添加網路適配器的PowerShell腳本實例。 使用PowerShell訪問Hyper-V模塊時,你需要提前啟動該功能,輸入下面的命令: Add-WindowsFeature Hyper-V -IncludeManagementTools 作為管理員,你還必須運行PowerShell控制台與Hyper-V進行互動和管理,所以一定要盡快遵循這些簡單的步驟。
8. 如何允許PowerShell執行任意自定義腳本
Windows Powershell的執行許可權策略如下:
1、運行gpedit.msc,打開組策略編輯器;
2、找到計算機配置 - 管理模板 - Windows組件 - Windows Powershell;
3、在右側找到啟用腳本執行,將策略設置為「已啟用」,選擇對應的執行策略,確定;
4、重啟計算機。
9. powershell腳本請教
不太明白你說的function指的是哪方面,自定義的函數,還是和cmdlet並列的function。
和cmdlet並列的function,和cmdlet的使用沒有區別,就是一個內置的命令,可以用以下命令獲取所有的function命令列表:
1Get-Command -CommandType Function
如果你想使用自定義的函數,則分為兩步:定義和調用。
定義函數,格式如下。根據Powershell的命令格式,建議自定義函數也採用「動詞-名稱」的格式。
123function Def-Function {功能代碼}
調用函數。直接使用Def-Function函數。
示例如下:
12345function Show-IPAddress {Get-NetIPAddress | `? { $_.IPAddress -match "^10\.*|^192\.*|^172\.*"} | `Select-Object IPAddress}1Show-IPAddress
10. powershell中怎麼批量配置可信任IP列表
在PSNet程序集的基礎上進行擴展,首先在$env:PSSpace/PSNet/TCPOp下創建腳本文件Invoke-ScanIPPort.ps1,並在$env:PSSpace/PSNet/TCPOp/PSNet.psm1中添加對腳本文件的調用:
復制代碼代碼如下:
. $env:PSSpace/PSNet/TCPOp/Invoke-ScanIPPort.ps1
首先對後面代碼中將會出現的變數進行介紹:
復制代碼代碼如下:
-StartAddress[掃描的起始IP地址],與-EndAddress配合使用,【此參數必須】
-EndAddress[掃描的結束IP地址],【此參數必須】
-ResolveHost[是否嘗試對主機名嘗試進行解析]
-ScanPort[是否進行埠掃描],如果要掃描埠此選項必須
-AllPort[是否對所有埠進行掃描],范圍為1~65534(注意此選項掃描時間很長建議在選中單個IP的情況下進行使用,並且盡量少使用)
-StartPort[掃描的起始埠埠],與-EndPort配合使用,如果此選項與-Ports選項同時存在則-Port參數失效
-EndPort[掃描的結束埠]
-Ports掃描時默認掃描的埠,如果後續不帶參數則僅掃描21,22,23,53,69,71,80,98,110,139,111,389,443,445,1080,1433,2001,2049,
3001,3128,5222,6667,6868,7777,7878,8080,1521,3306,3389,5801,5900,5555,5901如果後續帶多個以逗號分割的多個數字則會掃描數字對應的埠,如果只掃描默認的埠,則不需此參數
-TimeOut超時時間,默認值為100ms(毫秒)
此函數的調用方式如下:
復制代碼代碼如下:
Invoke-ScanIPPort -StartAddress 192.168.10.1 -EndAddress 192.168.10.254#掃描IP段
Invoke-ScanIPPort -StartAddress 192.168.10.1 -EndAddress 192.168.10.254 –ResolveHost#掃描IP段,並嘗試解析IP對應主機名
Invoke-ScanIPPort -StartAddress 192.168.10.1 -EndAddress 192.168.10.254 -ResolveHost –ScanPort#掃描IP段,並嘗試掃描默認埠
Invoke-ScanIPPort -StartAddress 192.168.10.1 -EndAddress 192.168.10.254 -ResolveHost -ScanPort -TimeOut 50 #掃描IP段,嘗試掃描默認埠,埠掃描50ms超時
Invoke-ScanIPPort -StartAddress 192.168.10.1 -EndAddress 192.168.10.254 -ResolveHost -ScanPort -Port 80 #掃描IP段,並嘗試掃描80埠
Invoke-ScanIPPort -StartAddress 192.168.10.1 -EndAddress 192.168.10.1 -ResolveHost -ScanPort –AllPort#掃描ip,並嘗試掃描所有1~65534之間埠
Invoke-ScanIPPort -StartAddress 192.168.10.1 -EndAddress 192.168.10.254 -ScanPort -StarPort 21 -EndPort 81#掃描IP段之間主機所有21至81之間的埠