雑記+備忘録

OS中心の技術情報と趣味について(最近は主に将棋)。備忘録なのでここに書かれたことを試すのは自己責任でお願いします。

備忘録(PowerShell)

PowerShellでADのグループメンバーを追加、削除

(2017/3/15追記)もっとシンプルにできました。 コメントいただいた「素敵なおひげ」さんありがとうございました。 $user = Get-ADUser -Filter {(Name -like "*山田*") -And (Name -like "*太郎*")} Remove-ADGroupMember "千葉支店_課長" -Members $user.…

PowerShellの関数(ファンクション)の考え方

(参考としてリンクさせていただいたURLの筆者の皆様ありがとうございます) 別ファイルに分けて関数化する方法 →ファイルを作って、「. “C:\fso\include.ps1"」のように「ドット、スペース、フルパス」で呼び出し元ファイルに記載(これを「スクリプトをド…

指定したExcelファイルのシート名を全て取得するPowerShell

表題の件、スクリプトを作成しました。 業務をしていてあると便利だな、と。 # 指定したExcelのシート名を全て取得するPowerShell # 引数1:ファイル名 # ファイルのパスを取得 $scriptPF = $MyInvocation.MyCommand.Path $scriptPath = Split-Path -Parent …

テキストファイルの各行頭もしくは行末に文字列を挿入

表題の件、スクリプトを作成しました。 業務をしていて、あると便利だな、と。 # テキストファイルを1行ずつ読んで書き込む【行頭に特定文字】 # 書き込むファイル名はc_+<読み込むファイル名> # 引数1:ファイル名 # 引数2:挿入文字列 $file = ".\" + $arg…

PowerShellで表示が切れるのを防ぐ

PowerShellで表示が切れるのを防ぐ PowerShellでコンソール上に値を表示させたり、テキストとして出力させたりするときに、 一定の長さで表示が切れて「...」となってしまうのを防ぎたい。 長く不便に感じていたにも関わらず全然情報を見つけられなかったの…

PowerShellでADのオブジェクト検索(メンバサーバーから)

ドメインコントローラーから検索する場合は「Get-ADUser」や「Get-ADComputer」を使えばよいのですが、 DCを触れない、AD管理PowerShellもインストールできない場合かつ単純に「ユーザーが存在するかだけ知りたい」 といったシチュエーションで、手軽にユー…

Windows Serverの各種パラメーターを調べるPowerShellコマンドレット

◇ 役割と機能 Get-WindowsFeature | Out-File "C:\work\Yakuwari.txt" -Encoding Default Get-WindowsFeature | Export-Csv "C:\work\Yakuwari.csv" -Encoding Default 「Out-File」で出力するのと「Export-Csv」で出力するので出力される項目が違うので注意…

PowerShellでGrepっぽいこと

以下例とします。 あるフォルダ下すべての「.txt」ファイルのうち記載内容に「Get」を含むファイルとその行数を表示するただし、「Test.txt」は対象外とする ◇ コマンドPS > dir -Recurse .\*.txt -Exclude "Test.txt" | Select-String "Get" ◇ 表示Test1.tx…

PowerShellでADのOU、グループ、ユーザー作成

ユーザー作成 $strPwd = ConvertTo-SecureString "P@ssw0rd" -AsPlainText -Force New-ADUser "山田 太郎" -SurName "山田" -GivenName "太郎" -Path ` "OU=スーパーサ部,OU=ウンボボ社,DC=unbobo,DC=local" ` -AccountPassword $strPwd -sAMAccountName "t_…

実行確認メッセージを出す

PowerShellのスクリプトを実行する前に、「よろしいですか?」のメッセージを出す。 === 以下サンプル === $title = "*** 実行確認 ***"$message = "データに漏れがないか確認してください。実行してよろしいですか?" $objYes = New-Object System.Manageme…

コマンド(バッチファイル)、PowerShellで共有プリンタの追加

プリンタサーバーに公開されている共有プリンタを クライアントにコマンドで追加する。 VDIのクライアント等で、スタートアップスクリプトログオンスクリプトで ロケールごとに追加するプリンタを変える、などの場面で使える。以下、クライアント側で実行す…

【自作便利ツール】csvのリストでリネーム

以下のファイルを作成し、 リネームしたいファイルと同じフォルダに放り込んで、 PowerShellスクリプトファイルを実行すればOK。 rendata.csv は、1項めがリネーム前、2項めがリネーム後。=== ListRen.ps1 === $strFile = ".\rendata.csv"$strHeader = "from…

一覧取得をOut-Fileでテキストファイルにリダイレクトすると不要なスペースが入る

題名の通り、PowerShellでファイル一覧やドメインのユーザー一覧など特に「Select-Object」を使用した一覧表示を、 テキストファイルにリダイレクトしたときに、PowerShellのウィンドウ幅分半角スペースが入ってしまうのを防ぐ方法。例えば、あるフォルダ直…