◆当blogは、Linuxサーバ構築する際の実際の設定手順を個人的メモとして記載しております。LinuC試験の役に立つ情報があるかも…?
BATファイルからパワーシェルスクリプトを実行するサンプル作りました。
※パワーシェルスクリプトをBATから呼び出す為には、
管理者権限でコマンドプロンプトを実行し、
実行ポリシーのセキュリティをRemotesignedに変更する等が必要なことに留意する
(※Windows2012の場合、Remotesignedがデフォルト値の為、変更する必要なし)
ファイル名:A.bat
@echo off
echo 実行ポリシー保存
powershell Get-ExecutionPolicy
for /f "delims=" %%a in ('powershell -Command Get-ExecutionPolicy') do @set backupPolicy=%%a
echo 実行ポリシー変更
powershell Set-ExecutionPolicy Remotesigned
powershell Get-ExecutionPolicy
echo スクリプト実行
pause
powershell %CD%\A.ps1
echo 実行ポリシー戻し
powershell -Command Set-ExecutionPolicy %backupPolicy%
powershell Get-ExecutionPolicy
pause
ローカルアカウント作成するスクリプトのサンプル作ってみました。
※パワーシェルを実行する為には色々な条件が必要な為、実際に上記スクリプトを実行する際には環境を整えてから実行してください。
ファイル名:A.ps1
# //変数格納//
$computer = $Env:ComputerName
$cdpath = (Get-Location).Path
# //text⇒CSV変換//
$csv = import-csv -path $cdpath\A.txt
# //テキスト情報の読込み//
foreach($strUser in $csv)
{
# //情報取得//
$user = $struser.user
$password = $struser.password
$description = $struser.description
$group = $struser.group
# //初期化//
Clear-Host
# //ユーザー作成//
$ObjOU = [ADSI]"WinNT://$computer"
$objUser = $objOU.Create("User", $user)
$objUser.setpassword($password)
$objUser.put("description",$description)
$objUser.UserFlags = 0x10000 #パスワードを無期限に設定
$objUser.SetInfo()
# //グループ設定//
$objGroup = [ADSI]"WinNT://$computer/$group"
$objGroup.add("WinNT://$computer/$user")
$objGroup.SetInfo()
}