PowerShellモジュールをオフラインモードでインストールする(インターネットアクセスなし)
最も人気のあるPowerShellモジュールは、公式のPowerShellギャラリー(PSGallery
)からオンラインでインストールされます。 ) Install-Moduleを使用したリポジトリ 指図。ただし、コンピューターが分離されたネットワークにある場合、またはPSRepositoryへの直接アクセスが制限されている場合は、PowerShellモジュールをインストールできません。通常、インターネットへの直接アクセスがブロックされているWindowsServerホストにPowerShellモジュールをインストールしようとしている場合も同様です。この記事では、PowerShellモジュールをオフラインでインストールする方法と、リモートコンピューターからモジュールをインポートする方法を示します(たとえば、SQLServer管理PoShモジュールを使用する場合)。
PowershellGallery.comからモジュールをダウンロードするための直接リンクがないことに注意してください。このサイトからダウンロードできるのは、NuGetパッケージ( .nupkg )だけです。 ファイル)。 NUPKGファイルからPowerShellモジュールをインストールできますが、これは完全なモジュールインストールではありません(主な問題は、依存関係が解決されないことです)。
まず、インターネットにアクセスできるコンピューターに必要なPowerShellモジュールをインストールします。
PowerShellバージョン5.1以降がコンピューターにインストールされている必要があります:
$PSVersionTable.PSVersion
モジュールがPSGalleryに存在することを確認してください:
Find-Module –Name *SqlServer*| Select Name, Version, Repository
モジュールをコンピューター上の指定されたローカルフォルダーにダウンロードします:
Save-Module –Name SqlServer –Path C:\PS\
モジュールをインストールする別のコンピューターにフォルダーをコピーします。
PowerShellモジュールが保存されているフォルダーを見てみましょう:
$env:PSModulePath -split ";"
ご覧のとおり、PowerShellモジュールは次のいずれかのパスにあります。
-
C:\Users\username\Documents\WindowsPowerShell\Modules
($Home\Documents\PowerShell\Modules
)–このフォルダー内のPowerShellモジュールは、このユーザー(CurrentUser)のみが使用できます。 -
C:\Program Files\WindowsPowerShell\Modules
($Env:ProgramFiles\WindowsPowerShell\Modules
)—パスは、すべてのコンピューターユーザーのモジュールをインストールするために使用されます(-Scope AllUsers
); -
C:\Windows\system32\WindowsPowerShell\v1.0\Modules
–組み込みモジュールのデフォルトフォルダ。
モジュールをC:\ Program Files \ WindowsPowerShell \ Modulesにコピーします 。
SQLServerモジュールが使用可能になっていることを確認してください:
Get-Module -Name SQLServer -ListAvailable
以下に示すように、モジュールディレクトリを取得できます。
(Get-Module -ListAvailable SQLServer).path
モジュールで使用可能なコマンドのリストを表示します:
Get-Command -Module SQLServer
同様に、任意のモジュールをインストールできます。この方法を使用して、VMWareモジュール用のSQLServer、PSWindowsUpdate、またはPowerCLIをインストールすることがよくあります。
明らかな理由から、オフラインデバイスにAzureADおよびExchangeOnlinePowerShellモジュールをインストールすることは意味がありません。すべてのコンピューターにPowerShellモジュールをインストールしたくない場合は、PSRemotingを使用してリモートコンピューターから任意のモジュールをインポートできます。
$session = New-PSSession -ComputerName dub-sql1
リモートコンピュータにインストールされているモジュールのリストを表示するには:
Get-Module -PSSession $session –ListAvailable
指定したPowerShellモジュールをコンピューターにインポートするには:
Import-Module -PSsession $session -Name SqlServer
終了したら、セッションを閉じることを忘れないでください:
Remove-PSSession $session
暗黙のリモート処理を介してリモートコンピューターにインストールされたPowerShellモジュールをローカルで使用するもう1つの興味深い方法 。
Invoke-Commandを使用してリモートコンピューターに接続し、必要なPowerShellモジュールをインポートします。
$session = New-PSSession -ComputerName dub-sql1
Invoke-Command {Import-Module SqlServer} -Session $session
モジュールコマンドレットをリモートセッションからローカルモジュールにエクスポートします:
Export-PSSession -Session $s -CommandName *-Sql* -OutputModule RemoteSQLServer -AllowClobber
このコマンドは、コンピューター上(C:\ Program Files \ WindowsPowerShell \ Modules)に新しいRemoteSQLServerPowerShellモジュールを作成します。コマンドレットファイル自体はコピーされません。
セッションを閉じます:
Remove-PSSession $session
次に、このモジュールのPowerShellコマンドレットを使用するには、それらをセッションにインポートする必要があります。
Import-Module RemoteSQLServer
すべてのSQLモジュールコマンドレットは、リモートコンピューターへの明示的な接続を確立しなくても使用できます。 Invoke-Sqlcmdを使用してMSSQLデータベースにクエリを実行してみてください。 PowerShellコンソールを閉じるか、モジュールを削除するまで、すべてのMSSQLコマンドを使用できます。
-
Windows 10 のヒント:インターネット アクセスをブロックする方法
方法を探している場合 Windows 10 PC でインターネット アクセスまたは接続をブロックする この記事では、インターネット アクセスを無効にする方法について説明します。 あなたのPC上で。インターネット アクセスをブロックする理由は多数あります。たとえば、自宅の PC で、子供や家族がインターネットからマルウェアやウイルスを誤ってインストールしたり、インターネットの帯域幅を節約したり、組織が無効にしたりすることがあります。この記事では、インターネット接続を簡単にブロックできる方法と、プログラムやアプリケーションのインターネット アクセスをブロックできる方法をすべてリストします。 W
-
Windows 11 で Internet Explorer を使用する方法
Microsoft の従来のブラウザである Internet Explorer は、まったく新しい Windows オペレーティング システムでは使用できません。しかし、技術に詳しい人なら、おそらく IE ブラウザーのインストール ファイルをダウンロードして、Windows 11 にインストールすることができます。 Windows 11 で Internet Explorer を実行するには、Microsoft Edge の IE モードを使用するしかありません。 Windows 11 で Internet Explorer を使用する方法 この記事を読むと、次のことができるようになります: