会社の事務所内に複合機を設置する際に依頼があるのが
複合機からのPDFスキャン(SMB)の設定
NASとかサーバーがあってそちらに送る時は問題ないのですが
クライアントPCに送る時がちと厄介
家電量販店で購入されたクライアントPCはほとんどがWindowsのHOMEエディション
最初の起動時にマイクロソフトアカウントの入力を促されて逃げられない
ユーザーが起動された時はなおさら逃げられない
よって、マイクロソフトアカウントでのログインになってしまい
SMBスキャンをするときは共有設定を Everyone にしないといけない訳ですが
そうするとパスワード保護共有をオフにしなければなりません
ですがWindowsUpdateのタイミングで、この保護共有がオンに戻ってしまうこ事があり
そのたびに、「スキャンが行かなくなった」とかいう電話がかかって来る事になります
ホームページに保護共有のオフの仕方を載せてはいるのですが、
「わからない」の一点張りで来いと言われます
これを何とか解消するのに、ローカルアカウントでパスワードを付けて
このローカルアカウントを共有に入れてあげれば良いのですが
ログイン時にこのユーザーが見えてしまうとま、また電話がかかって来る元になるので
ユーザーを作成して隠す事にしてみました
@echo off
rem --- 管理者権限チェック ---
net session >nul 2>&1
if %ERRORLEVEL% neq 0 (
echo 管理者権限で再起動します...
powershell -Command "Start-Process cmd -ArgumentList '/c ""%~f0""' -Verb RunAs"
exit /b
)
rem --- ここから管理者権限で実行される ---
cd /d "%~dp0"
echo 管理者として実行中です。
rem --- ユーザーとパスワード追加 ---
net user "Din Djarin" "mando" /add
rem --- フォルダ作成 ---
md c:\scan
rem --- フォルダを共有化 ---
REM --- net share scan=C:\scan
rem --- フォルダにアクセス権 ---
net share scan=C:\scan /grant:"Din Djarin",full
icacls c:\scan /grant "Din Djarin":(F) /t /c /q
pause
これをコマンドプロンプトを管理者権限で実行して、実行します
共有フォルダと、ユーザー作成ができます
ユーザーを隠すのは
レジストリ
\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\SpecialAccounts
にUserListを作成。その中にDword(32ビット)値を作成
Din Djarin に変更
値が0なら非表示。1なら表示になります
WindowsProなら、コンピュータの管理のユーザーとグループでいるかどうかは確認できます
私は、面倒なのでレジストリキーをエクスポートして持っています
これで少しは仕事が減るかな?












