PowerShell

【PowerShell】ファイルやフォルダを操作する

2018年8月26日

こんにちは!SEブログの相馬です。

 

 

 

今回は、ファイルやフォルダを作成したりする方法について書いてみました。

 

 

システム運用管理の業務をしていますと、何かの処理をさせる為にユーザー のPC の特定の場所にファイルやフォルダを作成したりする事があるかと思います。

 

 

PC のキッティング前にそれが分かればキッティング時に行えば良いですが、運用開始後に調査や改善の為に実施する事がしばしばあるかと思いますのでどうしてもキッティング時には行えないわけです。

 

 

例えば、何か PC 不具合の調査で特定の処理結果をログに出力したいけど、サーバーにログファイルを置いてログを書き込ませるのではなく、PC 上にログファイルを作成してそこにログを書き込ませるといった事です。また、PC のローカル上で動作させた方が良いバッチがあるとして、バッチファイルをコピーするとかといったイメージです。

 

 

そしてログを保管する場所を C ドライブ直下に Log という名前のフォルダを作成し、そこにログファイルを生成させれば良いかと思います。また Log フォルダはユーザーが削除できないよう、アクセス権限を制限しておくべきだと思います。

 

 

さて、こういった事を PC 1 台毎に手動で設定するのは気が遠くなる作業ですし、時間の無駄ですので自動化してしまいましょう。

 

 

 

ファイルやフォルダの作成

 

 

ファイルやフォルダを作成するには New-Item コマンドレットを使います。

 

New-Item コマンドレットについては、@IT の記事に分かり易い説明があります。

 

【 New-Item 】コマンドレット――ファイル/フォルダを新規作成する | @IT

 

 

New-Item コマンドレットのオプションは以下の通りです。

 

オプション 意味
-Path ディレクトリパスを指定
-ItemType 作成する種類を指定
-Force 上書き
-Value 文字列を指定

 

 

フォルダの作成

 

 

それでは C ドライブ直下に Log という名前のフォルダを作成してみましょう。-ItemType に Directory を指定するとフォルダになります。

 

 

 

 

ファイルの作成

 

 

フォルダを作成したので、今度はそのフォルダの下にファイルを作成してみましょう。-ItemType に File を指定するとファイルになります。

 

 

 

 

これで C ドライブ直下に Log フォルダが作成されました。今度は作成したフォルダやファイルの名前を変更してみましょう。

 

 

 

フォルダやファイルの名前変更

 

 

フォルダ名の変更

 

 

それでは作成したフォルダの名前を変更してみます。変更するには Rename-Item コマンドレットを使います。ここでは、上で作成した Log フォルダを Logs にフォルダ名を変更します。

 

構文:Rename-Item "変更前のフォルダ名" "変更後のフォルダ名"

 

 

 

 

 

ファイル名も同じ方法で変更できますので、ここでは割愛します。

 

 

フォルダやファイルの変更ができましたので、今度はフォルダを削除してみましょう。

 

 

 

フォルダやファイルの削除

 

 

フォルダやファイルを削除するには、Remove-Item コマンドレットを使います。ここでは、Logs フォルダ内にある、ログファイルを削除してみます。フォルダも同じ方法で削除できます。

 

 

 

 

まとめ

 

 

以上になります。いかがでしょうか。

 

 

フォルダやファイルを自動で作成できますと、色々な用途で使えそうですね。例えば、ユーザーの PC の C ドライブ直下に作業フォルダや Log フォルダを作成したりできます。

 

 

フォルダの作成の場合は、Active Directory の GPO でログオン時に処理させるようにすれば良いわけです。また、フォルダの存在有無はスクリプトの最初にチェックするように処理を書いておけば良いでしょう。存在していなければフォルダを作成するといった感じです。

 

 

 

それでは最後までお読みいただきありがとうございました!

 

  • この記事を書いた人

そーまん

セキュリティエンジニアやってます。
ブログ歴3年。PVは月15万PV程度。
趣味はボクシング、筋トレ、登山です。
穏やかで人見知りな性格です。

人気記事

1

こんにちは!そーまんです。 今回は、PC に適用されている GPO を確認する方法について書きました。 本題に入る前に、一応参考までにGPOの適用タイミングについての記事をここに貼りましたので、必要に ...

2

こんにちは!そーまんです。 今回は sysprep について、全体的に PC をセットアップする観点から書いてみました。長々と書いてあります。まずは前置きからです。 まずはじめに 組織では PC のラ ...

3

こんにちは!そーまんです。 今回は、グループポリシー (GPO) を使って、特定のコンピューターに対して、ドメインユーザーに ローカル管理者権限 (以下は特権と記載) を付与する方法について書きました ...

4

こんにちは!そーまんです。 今回は、Windows サインイン後に一時ユーザープロファイルが読み込まれてしまった場合の解決方法について書きました。 Windows 10 の検証環境をいじってたらサイン ...

5

こんにちは!そーまんです。 今回は、ユーザープロファイルを削除する方法について書いてみました。 企業の場合よくあることですが、1 台の PC を共有 PC として複数人で使ったり、また余り無いかもしれ ...

6

こんにちは!SE ブログの相馬です。       今回は、繰り返し文について書いてみました。PowerShell では他のプログラミング言語同様、繰り返し処理を行うことが ...

7

コマンドを使って CPU とメモリの使用率をデータで取得してみましたので、例えば PC のトラブルシューティングで問題を再現させる際にデータを取得しておくと、原因の特定に役立つ場合があるかと思います。

8

既存の PC と同じ構成で別のメーカーの PC でマスターイメージを作る際、インストールされているアプリを同一にする為に必要になるかと思います。

9

企業で多くの GPO が適用されている環境では、PC に GPO が適用されなかったりする問題が発生する場合があるかと思います。その中でも、コンピューターの構成またはユーザーの構成のどちらかで、...

10

こんにちは!そーまんです。 今回は、Windows Server 2019 で NTP サーバーと同期する方法について書きました。 NTP サーバーの必要性や時刻同期の重要性を理解することは社内のシス ...

-PowerShell
-