質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Windows

Windowsは、マイクロソフト社が開発したオペレーティングシステムです。当初は、MS-DOSに変わるOSとして開発されました。 GUIを採用し、主にインテル系のCPUを搭載したコンピューターで動作します。Windows系OSのシェアは、90%を超えるといわれています。 パソコン用以外に、POSシステムやスマートフォンなどの携帯端末用、サーバ用のOSもあります。

PowerShell

Windows PowerShellはコマンドラインインターフェースであり、システム管理を含むWindowsタスク自動化のためのスクリプト言語です。

Windows Server

Windows Serverとは、Microsoft社のサーバ用オペレーティングシステムの総称です。 企業内ネットワークなどで利用されるサーバ機へ導入することを想定して開発されているため高い安定性があり、 管理機能を提供するソフトウェアが多く含まれています。

Q&A

解決済

1回答

1315閲覧

powershellの条件分岐

hi04

総合スコア22

Windows

Windowsは、マイクロソフト社が開発したオペレーティングシステムです。当初は、MS-DOSに変わるOSとして開発されました。 GUIを採用し、主にインテル系のCPUを搭載したコンピューターで動作します。Windows系OSのシェアは、90%を超えるといわれています。 パソコン用以外に、POSシステムやスマートフォンなどの携帯端末用、サーバ用のOSもあります。

PowerShell

Windows PowerShellはコマンドラインインターフェースであり、システム管理を含むWindowsタスク自動化のためのスクリプト言語です。

Windows Server

Windows Serverとは、Microsoft社のサーバ用オペレーティングシステムの総称です。 企業内ネットワークなどで利用されるサーバ機へ導入することを想定して開発されているため高い安定性があり、 管理機能を提供するソフトウェアが多く含まれています。

0グッド

0クリップ

投稿2021/12/14 13:40

powershellでPCの環境(ワークグループ環境/ドメイン環境)に応じて条件判定を行い、分岐するスクリプトを作成したいのですが、当方初心者のため、アドバイスを頂けたら幸いです。

やりたいことのイメージは以下です。
①現在のPCの状態がワークグループ環境だったら以下コマンドを実施し、終了。
②現在のPCの状態がドメイン環境だったら以下コマンドを実施し、終了。

例えば、
(Get-WMIObject Win32_ComputerSystem).PartOfDomainで
ドメイン環境のtureだったらtureにとんでコマンドAを実行し、スクリプト終了。
ワークグループ環境のfalseだったらfalseにとんでコマンドBを実行し、スクリプト終了。
みたいな、スクリプトを作成したいです。

宜しくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

コマンドを使用するサンプルプログラムです。

# True if (((Get-WMIObject Win32_ComputerSystem).PartOfDomain) -eq $True ){ cmd.exe /c "dir C:\" # コマンドAを実行 cmd.exeを使う方法 Invoke-Expression "cmd.exe /c dir C:\" # コマンドAを実行 Invoke-Expressionを使う方法 cmd.exe /c "pause" # 一時停止 exit # スクリプト終了 }
# False if (((Get-WMIObject Win32_ComputerSystem).PartOfDomain) -eq $False){ cmd.exe /c "dir C:\" # コマンドBを実行 cmd.exeを使う方法 Invoke-Expression "cmd.exe /c dir C:\" # コマンドBを実行 Invoke-Expressionを使う方法 cmd.exe /c "pause" # 一時停止 exit # スクリプト終了 }

※サンプルは if文です。

※Powershellでは、functionを使用して関数(サブルーチン)に飛ぶことも可能です。

※Invoke-Expressionの使用はおすすめしません。
PowerShellチームのブログ投稿(英語)

投稿2021/12/14 16:47

ccc-

総合スコア356

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hi04

2021/12/16 13:05

返信ありがとうございます。 参考にさせていただきます。
ccc-

2021/12/17 01:09

お返事ありがとうございます。 こちらの回答でよろしければ「ベストアンサー」のボタンクリックを宜しくお願いします。 今後益々のご活躍を心よりお祈り申し上げます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問