PowerShellでユーザの確認、追加、削除

$user_name = "テスト"
$hostname = hostname

# ローカルユーザの存在を確認
[ADSI]$computer = "WinNT://$hostname,computer"
$users = $computer.psbase.children | Where-Object {$_.psBase.schemaClassName -eq "User"} | Select-Object -expand Name
$result = [bool] ($users -eq $user_name)
if($result) {
    echo "Exsit user : ${user_name}."
    exit 1
}

# ローカルユーザー作成
try {
    $user = $computer.Create("User", $user_name)
    $user.SetPassword("UserPassword")
    $user.SetInfo()
    $user.FullName = $user_name
    $user.Description = $user_name
    $user.UserFlags = 0x10000 #パスワードの無期限設定
    $user.SetInfo()
} catch {
    echo "Faild [ADSI]'WinNT://$hostname,computer').Create('User','${user_name}')."
}

# ローカルユーザを削除
try {
    $computer.Delete("User","${user_name}")
} catch {
    echo "Faild [ADSI]'WinNT://$hostname,computer').Delete('User','${user_name}')."
}

ASP.NET(Visual Basic)からODBCデータソース アドミニストレーターに登録したDSNを呼び出す

参考にした公式のサンプルコード

  1. ODBCデータソース アドミニストレーター(32ビット)を起動
  2. 下記DSNを登録
    • システムDSN、ドライバー:ODBC Driver for SQL Server
  3. 下記テストコードをIIS上のサイトに設置し動作を確認
<%@Page aspcompat=true Language = VB%>

<head runat="server" />

<html>
<body>
<%
dim objConn, rs, sqlstr
sqlstr="SELECT * FROM テーブル名;"
objConn = Server.CreateObject("ADODB.Connection")
objConn.Open("DSN=データソース名;UID=ユーザ名;PWD=パスワード")
rs = objConn.execute(sqlstr)

if rs.BOF and rs.EOF then
    Response.Write("No Records")
else
    rs.MoveFirst
    Do While Not rs.EOF
        Response.Write(rs("カラム名").Value & "<br>")
        rs.MoveNext
    Loop
end if
rs.close
rs = nothing ' Set statement removed.
%>
</body>
</html>

robocopyでディスク丸ごとバックアップ

参考URL

  1. 管理ツール -> コンピュータの管理 -> システムツール -> ローカルユーザとグループ -> グループ

  2. Backup Operators -> プロパティ -> 追加 -> robocopyの実行ユーザを指定

    • robocopy.exeの/zbオプションを使用するための権限をユーザに付与
  3. PowerShellを管理者権限で開き以下実行を確認
    robocopy E:\ F:\ /mir /zb /xd "System Volume Information" /log:".\robocopy.log"
    

applicationHost.configから任意サイトのfastCGIの設定を削除

“-ErrorAction Stop”で、コマンドの例外をcatchします。

$site_dir_path = "C:\sites\sample01.com"
$xpath = "/system.webServer/fastCgi/application[@arguments='-d open_basedir=${site_dir_path}']"
try {
    $conf = Get-WebConfiguration -Filter "${xpath}" -ErrorAction Stop
} catch {
    echo "Faild Get-WebConfiguration -Filter '${xpath}'."
}
if ([bool] $conf) {
    $ItemXPath = $conf.ItemXPath
    try {
        Clear-WebConfiguration -Filter $ItemXPath -ErrorAction Stop
    } catch {
        echo "Failed Clear-WebConfiguration -Filter '${ItemXPath}'."
    }
} else {
    echo "Not found xpath : ${xpath}."
}

WindowsでAdministratorユーザを有効化

  1. 管理ツール -> コンピュータの管理 -> システムツール -> ローカルユーザとグループ -> ユーザ

  2. Administrator -> プロパティ -> アカウントを無効にする:非チェック -> OK

  3. “コントロール パネル\ユーザー アカウントとファミリー セーフティ\ユーザー アカウント\アカウントの管理\アカウントの変更” -> Administrator -> パスワード作成

IIS上のPHPが500を返した際にブラウザ上でエラー内容を見たい

もちろん使い終わったらブラウザ上に表示しないように戻すこと

参考URL

;php.ini
:以下の項目を確認。error_logの出力先は環境に合わせて変更。
error_log = "C:\Program Files\PHP\error.log"
date.timezone = Asia/Tokyo
fastcgi.impersonate = 1
cgi.fix_pathinfo = 1
cgi.force_redirect = 0
extension_dir = "./ext"
;ブラウザ上にエラー内容を表示させたい場合は以下を設定。
display_errors = On
display_startup_errors = On