goo blog サービス終了のお知らせ 

日々適当

hibitekitou

ネットワークドライブの割り当て

pc |2023-10-03

将来への布石w
ネットワークドライブをマウントするとき、バッチファイル内に平文でパスワードを記述するのは良くないから、PowerShell使うと暗号化した形でパスワードを持たせられるという噂を聞き、PowerShellでネットワークドライブをマウントしてみようという試み。

各種サーバー情報の中の serverPass とか userName の部分が暗号化されて、この文章を保存したps1ファイルを見てもわからないようにしたいというのが主旨。どうやるべきかさっぱりわからんがw。各種サーバー情報部分を外部ファイルにして、それを暗号化するのが正攻法?
ちなみにこれは、VドライブとWドライブに192.168.0.100の共有フォルダと192.168.0.101の共有フォルダをマウントするよって内容です。

function mountServer{ 
    Param(
        [string]$DriveLetter, 
        [string]$Path,
        [string]$serverPass ,
        [string]$userName
        )
    $serverName =  $Path.Split('\')[2];
    $securePass = ConvertTo-SecureString $serverPass -AsPlainText -Force;
    $cred = New-Object System.Management.Automation.PSCredential "$serverName\$userName", $securePass;
    
    New-PSDrive -Name $DriveLetter -Root $Path -Persist -PSProvider "FileSystem" -Credential $cred -Scope global;
}

#各種サーバー情報
$Servers = @(
            @{
                "DriverLetter" = "V";
                "Path" = '\\192.168.0.100\SharedFolder';
                "serverPass" = 'password';
                "userName" = 'userName';
            },
            @{
                "DriverLetter" = "W";
                "Path" = '\\192.168.0.101\SharedFolder';
                "serverPass" = 'password';
                "userName" = 'userName';
            }
);

foreach( $server in $Servers ){
    $DriveLetter = $server.DriverLetter;
    $Path = $server.Path;
    $serverPass = $server.serverPass;
    $userName = $server.userName;
    mountServer -DriveLetter $DriveLetter -Path $Path -serverPass $serverPass -userName $userName;
}
コメント ( 0 )|Trackback ( )
 
コメント
 
コメントはありません。
コメントを投稿する
ブログ作成者から承認されるまでコメントは反映されません
 
名前
タイトル
URL
コメント
コメント利用規約に同意の上コメント投稿を行ってください。

数字4桁を入力し、投稿ボタンを押してください。