【tech】コマンドプロンプト(CMD)でIPアドレスを設定するメモ



公開:2020/04/27
更新:2020/04/27

私は最近自宅のNWの整備にハマっているのですが、NW機器を設定する時に作業用PCとNW機器を直接一対一で接続することが多く、その都度作業PCにIPアドレスを、アダプタの設定からNICのプロパティを開いて手動でIPアドレスを設定するのがめんどくさいと感じていました。

ある日ふとひらめいたのです。

cmd(コマンドプロンプト)で出来たら簡単なのでは・・?

早速調べたメモです。

環境


OS:windows10
割り当てるIPアドレス:192.168.100.220/24
GW:192.168.100.1
DNS:8.8.8.8

Powershell:Ver 5.1
インターフェース名:ローカル エリア接続

これからは、cmdで設定するよりWindowsユーザならPowershellを使えるようになったほうがいいみたいなので、PowershellでIPアドレスの設定手順を先に書きます。
※CMD(コマンドプロンプト)での設定方法は下に書いてあります。

手順




・InterFaceIndex番号の確認
Get-NetAdapter


Name InterfaceDescription ifIndex Status MacAddress LinkSpeed
ローカルエリア接続 Intel(R) GigaNetwork Con.. 10 Up XX-XX-F1-4D-XX-XX 1 Gbps
Bluetooth接続 Bluetooth デバイス 9 Disconnected XX-XX-AF-4D-XX-XX 3 Mbps


→わかりづらいですが、10と9の部分です。今回、ローカルエリア接続のGigabitのNICにIPアドレスを割り当てたいので、InterFaceIndexは「10」とわかりました

・DNSの設定
Set-DnsClientServerAddress -InterfaceIndex 10 -ServerAddresses 8.8.8.8

→8.8.8.8が割り当てたいDNSサーバのIPアドレスです。

・IPアドレスの設定
New-NetIPAddress -interfaceindex 10 -IPAddress "192.168.100.220" -AddressFamily IPv4 -PrefixLength 24 -DefaultGateway 192.168.100.1

→IfIndexが10のローカルエリア接続のNICにIPアドレスを192.168.100.220で、サブネットマスクは/24で、デフォルトゲートウェイは192.168.100.1で設定します。



・IPアドレスの削除
Remove-NetIPAddress -interfaceindex 10 -IPAddress "192.168.100.220" -DefaultGateway 192.168.100.1
→NW機器の設定が終わったらIPアドレスを削除します。

・DNSアドレスの削除
Set-DnsClientServerAddress -InterfaceIndex 10 -ResetServerAddresses

コマンドプロンプト(CMD)でのやり方 





・cmdを管理者で起動

・netshモードへ切り替え
netsh

・インターフェース名を確認
interface ip show config


netsh>interface ip show config

インターフェイスの構成 "ローカル エリア接続"
DHCP 有効: いいえ
インターフェイス メトリック: 25
静的に構成された DNS サーバー: なし
次のサフィックスで登録します: プライマリのみ
静的に構成された WINS サーバー: なし


→インターフェース名は「ローカルエリア接続」とわかりました。

・IPアドレスの割り当て
netsh>interface ip set address "ローカル エリア接続" static 192.168.100.220 255.255.255.0 192.168.100.1

・DNSサーバの割り当て
netsh>interface ipv4 set dns name="ローカル エリア接続" source=static 8.8.8.8

・設定確認
interface ip show config


netsh>interface ip show config

インターフェイスの構成 "ローカル エリア接続"
DHCP 有効: いいえ
IP アドレス: 192.168.100.220
サブネット プレフィックス: 192.168.100.0/24 (マス ク 255.255.255.0)
デフォルト ゲートウェイ: 192.168.100.1
ゲートウェイ メトリック: 1
インターフェイス メトリック: 25
静的に構成された DNS サーバー: 8.8.8.8
次のサフィックスで登録します: プライマリのみ
静的に構成された WINS サーバー: なし


・netshから抜ける
exit



久しぶりにみてみると、モバイルバッテリーもずいぶん安くなってるんですね!

皆さん既にやってると思いますが、 AmazonPrimeだとAmazon Music Unlimitedが月額780円でできるんですね!
最近知ってapple musicから乗り換えました。(200円ですが安い方がいいに越したことはないです笑)

下のPythonの本は kindle unlimitedで無料で読めますのでお勧めです!(30日無料期間に読んで解約もアリだと思います。笑)



【tech】PowershellでAzure SQL Databaseのサイズ変更するメモ



公開:2020/01/28
更新:2020/01/28

職場でAzureを使っているのでpowershellで操作できるようになりたいと思い、先日、AzureRMなどのセットアップ手順メモを書きましたが、その続きです。

【tech】2019年12月版 Azure操作の為のPowerShell

Azure SQL Databaseのサイズ変更のコマンドメモです。
powershellってAzureRMのコマンドだったり、AzureCLIのコマンドだったり、多すぎですよね笑

環境


リソースグループ名:Test-RG
SQLサーバー名:sqlsv00
データベース名:db00
DBのサイズ:S1
変更後のDBサイズ:Basic

手順




・変数定義
$resourceGroup = "Test-RG"
 →リソースグループ名
$sqlserverName = "sqlsv00"
 →SQLサーバ名
$databaseName = "db00"
 →変更したいDB名
$dbChangeEdition = "Basic"
 →Basic、Standard、Premium、DataWarehouse、GeneralPurposeなど

$dbChangeLevel = "S1"
 →希望のサイズ。他にはP1など。Basicシリーズだと不必要

・サイズ変更のAzureRMコマンド
Set-AzureRmSqlDatabase -ResourceGroupName $resourceGroup -ServerName $sqlserverName -DatabaseName $databaseName -Edition $dbChangeEdition -RequestedServiceObjectiveName $dbChangeLevel


・Basicサイズに変更したい場合
Set-AzureRmSqlDatabase -ResourceGroupName $resourceGroup -ServerName $sqlserverName -DatabaseName $databaseName -Edition $dbChangeEdition



久しぶりにみてみると、モバイルバッテリーもずいぶん安くなってるんですね!

皆さん既にやってると思いますが、 AmazonPrimeだとAmazon Music Unlimitedが月額780円でできるんですね!
最近知ってapple musicから乗り換えました。(200円ですが安い方がいいに越したことはないです笑)

下のPythonの本は kindle unlimitedで無料で読めますのでお勧めです!(30日無料期間に読んで解約もアリだと思います。笑)



【tech】2019年12月版 Azure操作の為のPowerShell



公開:2019/12/27
更新:2020/01/28

Azureをpowershellで使おうと四苦八苦。泣
powershellって種類多すぎませんか?
2019年時点でAzureを使えるようにするためのpowershellをインストール・設定する方法を調べたメモです!

結論、どうやら2019年12月時点では、「Azモジュール」と「AzureCLI」というpowershellがセットアップできればよさそうだったので、その二つを使えるようにしました!(間違っている可能性がありますので、詳しくはMicroSoft調べてください)

AzureSQLDatabaseのサイズ変更のコマンドメモもありますのでよかったら見てください!

【tech】PowershellでAzure SQL Databaseのサイズ変更するメモ

Azモジュールのインストール



PowerShell 5.1だと「AzureRM」と「Azモジュール」を同時にインストールすることができないみたいなので、AzureRMが入っている場合はまず削除してから、Azモジュールをインストールします。

・powershellを管理者で起動する

・AzureRMが入っているかどうかを確認する
Get-InstalledModule -Name AzureRM -AllVersions

https://docs.microsoft.com/ja-jp/powershell/azure/migrate-from-azurerm-to-az?view=azps-3.2.0

・AzureRMをアンインストール
Uninstall-Module AzureRm

https://docs.microsoft.com/ja-jp/powershell/azure/uninstall-az-ps?view=azps-3.2.0#uninstall-the-azurerm-module

・PowershellのVer確認
$PSVersionTable.PSVersion

PS C:\WINDOWS\system32> $PSVersionTable.PSVersion
>>

Major  Minor  Build  Revision
-----  -----  -----  --------
5      1      18362  145

powershellのVerが5.1以前の場合はupdateしてください。


・Azure PowerShell Az モジュールをインストールする
 ユーザ全員の場合
Install-Module -Name Az -AllowClobber -Scope AllUsers
 アクティブユーザのみの場合
Install-Module -Name Az -AllowClobber -Scope CurrentUser

PS C:\WINDOWS\system32> Install-Module -Name Az -AllowClobber -Scope AllUsers
>>

Untrusted repository
You are installing the modules from an untrusted repository. If you trust this
repository, change its InstallationPolicy value by running the Set-PSRepository
cmdlet. Are you sure you want to install the modules from 'PSGallery'?
[Y] はい(Y)  [A] すべて続行(A)  [N] いいえ(N)  [L] すべて無視(L)  [S] 中断(S)
[?] ヘルプ(既定値は "N"): y

https://docs.microsoft.com/ja-jp/powershell/azure/install-az-ps?view=azps-3.2.0

・「AzureRM」と互換性のあるエイリアスを有効にしておく
Enable-AzureRmAlias -Scope CurrentUser

PS C:\WINDOWS\system32> Enable-AzureRmAlias -Scope CurrentUser
PS C:\WINDOWS\system32>

こうする事によって、「Azモジュール」がインストールされた状態で、古いコマンドレット名を使用できるようになります。

「AzureRM」のコマンドレット名も使えるまま「Azモジュール」のインストールが完了です。

AzureCLIのインストール



AzureCLIはPythonで作成されているそうです!
Pythonのインストールは下記からwindowsの64bitの物をDLしてインストールしてください。リンク先で画面を少し下にスクロールしたところにあります。(86x64のもの)
https://www.python.org/downloads/windows/

Pythonの資格を取った記事も書いているのでよかったら見てください!!

【tech】Python 3 エンジニア認定基礎試験を受けてみて(受験記)




・PowerShellを管理者で起動する

・AzureCLIのインストール
Invoke-WebRequest -Uri https://aka.ms/installazurecliwindows -OutFile .\AzureCLI.msi; Start-Process msiexec.exe -Wait -ArgumentList '/I AzureCLI.msi /quiet'

PS C:\WINDOWS\system32> Invoke-WebRequest -Uri https://aka.ms/installazurecliwindows -OutFile .\AzureCLI.msi; Start-Process msiexec.exe -Wait -ArgumentList '/I AzureCLI.msi /quiet'
>>
PS C:\WINDOWS\system32>

・AzコマンドでAzureにログイン
az login

ブラウザが立ち上がりAzureへのログイン画面が出れば成功です。
ブラウザでアカウントを入力後PowerShellを見るとログインのログが出ていると思います。



久しぶりにみてみると、モバイルバッテリーもずいぶん安くなってるんですね!

皆さん既にやってると思いますが、 AmazonPrimeだとAmazon Music Unlimitedが月額780円でできるんですね!
最近知ってapple musicから乗り換えました。(200円ですが安い方がいいに越したことはないです笑)

下のPythonの本は kindle unlimitedで無料で読めますのでお勧めです!(30日無料期間に読んで解約もアリだと思います。笑)



【tech】powershellのVersionを確認するメモと使い方メモ

powershellを使えるようになりたいなと思っていまして、まずはVerの確認をする為にコマンドを調べたメモです。私はメインでWindows10を使っているのですが、最近MACBOOKも買ったので、ショートカットを改めて調べまくっています。笑

MyPC(のメモリが8GBの物)です!
私はこのPCのメモリを現在では32GBにアップグレードして使っています!笑


・PowerShellのVersionを確認する
$PSVersionTable

出力結果


Name Value
---- -----
PSVersion 5.1.18362.145
PSEdition Desktop
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0...}
BuildVersion 10.0.18362.145
CLRVersion 4.0.30319.42000
WSManStackVersion 3.0
PSRemotingProtocolVersion 2.3
SerializationVersion 1.1.0.1



メモリ安くなりましたよね、16GBで6000円ですよ!!!

下のうごかして学ぶPowershellは kindle unlimitedで無料で読めますのでお勧めです!(30日無料期間に読んで解約もアリだと思います。笑)
一度読んでみると、別に困ってなかったけど、もっと便利な使い方があったことに気づけたりしていいですよね!
オライリーはunlimitedでないですが、海外のamazonでは評価がとても高かったです!

unlimited使わないともったいないですし。笑

【tech】Powershell scriptが使えなかった時のメモ

最近Powershellを使い始めてみたのですがおもしろいですね!!

ですがいざスクリプトを組んで実行しようとするとうまく動かず・・・
調べてみるとpowershellによってスクリプトが許可されていないようでした。

環境


スクリプト配置ディレクトリ:C:\Users\Desktop\workspace>
スクリプトファイル:powershell2.ps1
実行コマンド:powershell .\powershell2.ps1

エラーログ


PS C:\Users\Desktop\workspace> powershell .\powershell2.ps1
.\powershell2.ps1 : このシステムではスクリプトの実行が無効になっているため、ファイル C:\Users\Desktop\workspace\powershell2.ps1 を読み込むことができません。詳細については、「about_Execution_Policies」(https://go.m
icrosoft.com/fwlink/?LinkID=135170) を参照してください。
発生場所 行:1 文字:1
+ .\powershell2.ps1
+ ~~~~~~~~~~~~~~~~~
+ CategoryInfo : セキュリティ エラー: (: ) []、PSSecurityException
+ FullyQualifiedErrorId : UnauthorizedAccess


1.実行ポリシーの確認
Get-ExecutionPolicy
→>>
 Restricted


・Restricted
- 個別のコマンドは許可されますが、スクリプトは実行されません。
- 書式設定と構成のファイル (.ps1xml)、モジュール スクリプト ファイル (.psm1)、Windows PowerShell プロファイル (.ps1) を含むすべてのスクリプト ファイルの実行を防止します。


2.実行ポリシーの変更 ※ポリシーはご自身で判断の上設定してください。
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned
※実行には管理者権限が必要です。
 管理者権限のない人は一度powershellを閉じて、powershellを右クリックで開いてから、管理者として実行してください。

以上の2つのコマンドでpowershellスクリプトのps1ファイルが実行できるようになります。

powershellは実行権限の整備がかなり詳細に設定されていますので、スクリプトの実行についてはオフィシャルドキュメントをご確認ください!

https://docs.microsoft.com/ja-jp/previous-versions/windows/powershell-scripting/hh847748(v=wps.640)

ドキュメントの引用です


Windows PowerShell の実行ポリシー
Windows PowerShell の実行ポリシーは次のとおりです。

"Restricted" が既定のポリシーです。

Restricted
- Windows 8、Windows Server 2012、Windows 8.1 の既定の実行ポリシーです。

  • 個別のコマンドは許可されますが、スクリプトは実行されません。

  • 書式設定と構成のファイル (.ps1xml)、モジュール スクリプト ファイル (.psm1)、Windows PowerShell プロファイル (.ps1) を含むすべてのスクリプト ファイルの実行を防止します。

AllSigned
- スクリプトを実行できます。

  • ローカル コンピューター上で記述されたスクリプトを含むすべてのスクリプトと構成ファイルが、信頼された発行元によって署名されている必要があります。

  • 信頼されているかどうかがまだ分類されていない発行元のスクリプトを実行する前に、確認メッセージが表示されます。

  • 署名されているが悪意のあるスクリプトが実行される危険性があります。

RemoteSigned
- スクリプトを実行できます。Windows Server 2012 R2 の既定の実行ポリシーです。

  • インターネット (電子メールとインスタント メッセージング プログラムを含む) からダウンロードされたスクリプトと構成ファイルが、信頼された発行元によってデジタル署名されている必要があります。

  • ローカル コンピューター上で記述された (インターネットからダウンロードされていない) スクリプトには、デジタル署名は必要ありません。

  • Unblock-File コマンドレットの使用などによってスクリプトのブロックが解除されている場合は、インターネットからダウンロードされた、署名されていないスクリプトが実行されます。

  • インターネット以外をソースとする署名されていないスクリプトや、署名されているが悪意のあるスクリプトが実行される危険性があります。

Unrestricted
- 署名されていないスクリプトを実行できます (悪意のあるスクリプトが実行される危険性があります)。

  • インターネットからダウンロードされたスクリプトや構成ファイルを実行する前に、ユーザーに警告します。

Bypass
- 何もブロックされません。警告やプロンプトは表示されません。

  • この実行ポリシーは、Windows PowerShell のスクリプトが大きいアプリケーションに組み込まれている構成や、Windows PowerShell が独自のセキュリティ モデルを持つプログラムの基盤になっている構成を対象としています。

Undefined
- 現在のスコープに実行ポリシーが設定されていません。

  • すべてのスコープの実行ポリシーが Undefined の場合、有効な実行ポリシーは、既定の実行ポリシーである Restricted になります。

注記:インターネット パスと汎用名前付け規則 (UNC) パスを区別しないシステムの場合、RemoteSigned 実行ポリシーを使用すると、UNC パスで識別されているスクリプトが実行を許可されない可能性があります。