PowerShell を別のユーザーとして実行
-
Credential
コマンドを使用して、PowerShell を別のユーザーとして実行してスクリプトを実行する - 別のユーザーとして PowerShell を実行して保存されたスクリプトを実行する UI ベースのソリューション
PowerShell は、Windows、Mac、および Linux ユーザー向けのコマンドラインベースの自動化およびスクリプトソリューションです。多くのオペレーティングシステムユーザーは PowerShell を使用できます。PowerShell を使用している主要なユーザーの 1つは、Windows ユーザーです。
Linux や Linux のようなシステムとは異なり、Windows のスクリプト機能は制限されています。Windows PowerShell は、このギャップを埋め、Windows ユーザーに CI / CD システム管理、スクリプト、および自動化タスクに関する一定の柔軟性を提供するための優れたソリューションの 1つです。
Windows およびその他のバージョンの PowerShell の詳細については、https://docs.microsoft.com/en-us/powershell/を参照してください。これには、PowerShell の公式ドキュメントが含まれています。
Windows システムでは、さまざまなユーザーが他の資格情報を介してログインし、同じ Windows システムを使用できます。PowerShell では、ユーザーは別のユーザー(ユーザーがアクセス権を持っている)としてログインし、スクリプトを実行できます。
Credential
コマンドを使用して、PowerShell を別のユーザーとして実行してスクリプトを実行する
PowerShell アプリケーションを使用してユーザーアカウントを変更する方法はいくつかあります。まず、PowerShell アプリケーションを開く必要があります。次に、credential
キーワードを使用してポップアップを開くことができます。次に、必要なユーザー資格情報(ユーザー名とパスワード)を入力できます。
start powershell -credential ""
上記のコマンドの結果、次の画像に示すポップアップが表示されます。ここで、他のユーザークレデンシャルを入力して、必要なユーザーに切り替えることができます。開いたポップアップは、Windows PowerShell 資格情報要求です。
ただし、credential コマンドのみを含める代わりに、この目的のために他の方法を使用できます。
ただし、ここで覚えておくべきことが 1つあります。新しく開いた PowerShell をキーボードやその他の入力デバイスで使用する場合は、最初に親 PowerShell アプリケーションウィンドウを閉じる必要があります。
これは、別のユーザーとして新しい PowerShell ウィンドウを開くために使用したウィンドウです。そうでない場合は、新しいユーザーとしてコマンドを実行する必要があります。
ここでは、入力にユーザー名とパスワードのテキストを入力する必要がないため、プロセスが保護されます。ただし、上記のポップアップをスキップするための安全性の低いアプローチがあります。
このメソッドは、$username
と $password
を提供し、new-object
とともに credential キーワードを指定して、PowerShell を使用するために必要な別のユーザーアカウントに直接ログインします。ユーザーアカウントに潜在的なセキュリティリスクがあるため、使用はお勧めしません。
別のユーザーとして PowerShell を実行して保存されたスクリプトを実行する UI ベースのソリューション
PowerShell を 1 人のユーザーとして実行し、コマンドを提供し、新しいユーザーとしてログインするという複雑なプロセスを使用するのではなく、これを実現するためのよりアクセスしやすい UI ベースのソリューションがあります。
最も推奨される簡単な方法の 1つは、最初に PowerShell アプリケーションを Windows マシンのタスクバーに固定することです。
次に、PowerShell アイコンを右クリックすると、Windows PowerShell としてのオプションが表示されます。そのオプションにカーソルを合わせ、Shift キーを押しながら右クリックして、別のメニューを開きます。
新しいメニューから別のユーザーとして実行
を選択できます。次に、次の画像に示すように、別のポップアップが開きます。アプリケーションを起動する前に、ログインするユーザーのユーザー資格情報(パスワードとユーザー名)を入力できます。
これにより、ユーザーは、アクセス権のあるアカウントに新しいユーザーとしてログインし、PowerShell アプリケーションをその特定のユーザーとして使用して、保存されているスクリプトまたは類似のスクリプトを実行できます。
ただし、管理者としてログインしていない限り、PowerShell で使用できるコマンドの一部を実行できない場合があります。たとえば、System32 ファイルの変更が必要なコマンドは、コマンドを実行する前に完全な管理者権限が必要になります。管理者権限が必要な昇格された PowerShell セッションとコマンドの詳細については、https://community.idera.com/database-tools/powershell/ask_the_experts/f/learn_powershell_from_don_jones-24/21279/which-commands-require-running-as-an-admin を参照してください。
Nimesha is a Full-stack Software Engineer for more than five years, he loves technology, as technology has the power to solve our many problems within just a minute. He have been contributing to various projects over the last 5+ years and working with almost all the so-called 03 tiers(DB, M-Tier, and Client). Recently, he has started working with DevOps technologies such as Azure administration, Kubernetes, Terraform automation, and Bash scripting as well.