各管理者は常に自分の行動を最小限に抑え、スクリプトを書き、プログラムを書き、想像力を発揮して頭を働かせる必要のある日常的なタスクを少なくします。 私の経験を共有したい、誰かが助けてくれるかもしれない。 私の会社の従業員数は15〜18人です。 メールはZimbraサーバーで作成され、各従業員はコンピューターのローカルアカウントで作業します。 そして、私の前に、ADがないことが歴史的に発展しました。
ファイルサーバーを展開する必要がありました。MSWindowsサーバー2016に基づいて展開しました。MSWindowsサーバー2016は、VHDX(仮想ハードディスク)が作成されるファイルサーバーの役割を表します。 アクセスにより、すべてが簡単になります。ローカルグループを作成し、グループにアクセス許可を付与し、各従業員をこれらの同じグループに追加します。 しかし、各従業員を手動で開始し、マウスを動かし、タブをクリックしてから、パスワードとアクセス権を持った従業員に手紙を書くことも、これは「労働」ではありません。 その結果、1つのコンソールウィンドウからこれらのすべてのアクションを4つのステップで実行する小さなスクリプトを作成しました。
まず、ユーザーを作成し、そのユーザーのパスワードを作成し、説明を追加する必要があります。そのために、データを変数に転送します。
$login=read-host " " # $name=read-host " " # $dep=read-host " " # $Chars = [Char[]]"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890" # $Password=($Chars | Get-Random -Count 10) -join "" # 10 $date = Get-Date # " $date " + " " + " srv-fs\" + "$login " + " " + " $Password" >> "X:\IT\password_users.txt" $us="$login"+"@"+"domain.net" #
このブロックを通過すると、ファイルに「2018年2月12日08:18:24従業員srv-fs \ testovichのパスワードa15qBci2m9が作成されました」という行が表示されます。このアカウントを作成する必要があります。
$SecurePassword = $Password | ConvertTo-SecureString -AsPlainText -Force # New-LocalUser "$login" -Password $SecurePassword -PasswordNeverExpires -FullName "$Name" -Description "$dep" # Add-LocalGroupMember -Group "Share" -Member "$login" #
その結果、次のブロックを通過した後、共有グループのアカウントを取得します。
そして、今度は従業員のログイン詳細を送信します。
$EmailFrom = "srv-fs@domain.net" # $EmailTo = "it@domain.net,$us" # $us - $login"+"@"+"domain.net $Subject = " " $Body = "$name" + ", . . " + " " + " srv-fs\" + "$login " + " | " + " $Password" + "|" # $SmtpServer = "mx.domain.net" # $smtp = New-Object net.mail.smtpclient($SmtpServer) $smtp.Send($EmailFrom, $EmailTo, $Subject, $Body)
「共有ドライブへのアクセス」という件名のメッセージが従業員のメールに送信され、メッセージの本文には
「Ivanov Ivan Testovich、共有ネットワークドライブへのアクセスが許可されました。ログインするには、次を使用します。ユーザー名srv-fs \ testovich |パスワードa15qBci2m9 |」
従業員はある部門で働いており、グループごとにフォルダにアクセスできるため、目的のグループにユーザーを追加する必要があるため、忘れないでください。
# , 1 Write-Host ″ ″ -ForegroundColor Red Write-Host ″1. ″ -ForegroundColor Green Write-Host ″2. ″ -ForegroundColor Green Write-Host ″3. ″ -ForegroundColor Green Write-Host ″4. ″ -ForegroundColor Green Write-Host ″5. ″ -ForegroundColor Green Write-Host ″6. IT″ -ForegroundColor Green Write-Host ″7. ″ -ForegroundColor Green Write-Host ″8. ″ -ForegroundColor Red $choice = Read-Host ″ ″ # Switch($choice){ 1{Add-LocalGroupMember -Group "Account" -Member "$login"} 2{Add-LocalGroupMember -Group "Admin" -Member "$login"} 3{Add-LocalGroupMember -Group "Analytic" -Member "$login"} 4{Add-LocalGroupMember -Group "Developer" -Member "$login"} 5{Add-LocalGroupMember -Group "HR" -Member "$login"} 6{Add-LocalGroupMember -Group "IT" -Member "$login"} 7{Add-LocalGroupMember -Group "Management" -Member "$login"} 8{Write-Host ″″; exit} default {Write-Host ″ , .″ -ForegroundColor Red} }
そして、これらすべての最後に、正しいグループ、説明、パスワードを持つ既製のユーザーがいます。 従業員は、今度は手紙を受け取り、ディスクに接続しました。そうでない場合、これはまったく異なる話です...