0

좋은 스크립트를 작성했습니다. 사용자 계정을 만들고 비밀번호를 설정하고 올바른 OU에 장소를두고 홈 드라이브 폴더와 하위 폴더를 만듭니다. 사용자는 로그인 할 수 있지만 문제는 없지만 사용자가 광고에서 지정된 드라이브와 차이가있는 드라이브에 매핑된다는 사실을 알았습니다. 이 스크립트 블록은 다음과 같습니다.AD 사용자가 Powershell로 작성한 경우 드라이브 매핑이 잘못됨

$homedrivepath = "Server_Path_for_users_data" 
$homedrive = "Y" 

New-ADUser -HomeDirectory "$homedrivepath" -HomeDrive "$homedrive" 

제가 언급했듯이 그 밖의 모든 것은 잘 작동합니다. 이 문제는 AD에서도 드라이브 문자 인 Y로 표시되지만 사용자가 로그인하면 대신 Z :로 매핑됩니다. 왜 이런 일이 일어날 수있는 아이디어가 있습니까? GPO 또는 그와 유사한 것으로 관리되지 않습니다.

감사합니다!

답변

0

다른 스크립트가 있습니까? 그것의 주위에 어 지르는지 검사하십시오.

이 스크립트를 테스트하면 광고 작성이 쉬워집니다. https://gallery.technet.microsoft.com/scriptcenter/Create-AD-user-on-the-go-3b754198

Import-Module activeDirectory 
[System.Reflection.Assembly]::LoadWithPartialName('Microsoft.VisualBasic') | Out-Null 
$Firstname = [Microsoft.VisualBasic.Interaction]::InputBox("Enter firstname ") 
[System.Reflection.Assembly]::LoadWithPartialName('Microsoft.VisualBasic') | Out-Null 
$Lastname = [Microsoft.VisualBasic.Interaction]::InputBox("Enter Lastname ") 
$PWD=[System.Reflection.Assembly]::LoadWithPartialName('Microsoft.VisualBasic') | Out-Null 
$PWD= [Microsoft.VisualBasic.Interaction]::InputBox("Enter Password ") 
$dnsroot = '@' + (Get-ADDomain).dnsroot 
$OU="CN=users, DC=Domain,DC=COM" 
$SAM = $user.FirstName.Substring(0,1) + $user.LastName #example John snow will be Jsnow 
    #$Sam=$User.FirstName+$User.LastName example john snow will be Johnsnow 
    #$Sam=$User.FirstName example john snow will be John 
    #$Sam= $User.firstName + "." + $User.lastName example john snow will be John.snow 
$Dname="$firstName " + "$lastName" 
$UPN = $Sam + “$dnsroot” 
New-ADUser -Name "$firstName $lastName" -DisplayName $Dname -AccountPassword (ConvertTo-SecureString “$pwd” -AsPlainText -force) -GivenName $FirstName -Path $OU -SamAccountName $SAM -Surname $LastName -UserPrincipalName $UPN -Enabled $TRUE 
Write-Output "User $Firstname has been created" -foregroundcolor Green 
## setting up stuff## 
$user=$sam 
Write-Host "Would you like to set up Home Drive?"  -ForegroundColor Green 
$Response = Read-Host "[Y] Yes, [N] No" 
    If($Response -eq "y") 
{Get-ADUser $user | % { Set-ADUser $_ -HomeDrive "H:" -HomeDirectory ('\\SERVER\home$\' + $_.SamAccountName) }} 


#now create Home folder# 


    if(-not (Test-Path \\server\home$\$User)){ 
     New-Item -Path \\server\home$\$User -ItemType directory 
     } 


#**** setting up Login script* 
Write-Host "Would you like to add Login Script?"  -ForegroundColor Green 
$Response = Read-Host "[Y] Yes, [N] No" 
    If($Response -eq "y") 
{Get-ADUser $user | Set-ADUser -ScriptPath 'yyy.bat'} 


## add to group## 
Write-Host "allow to add to group Group?"  -ForegroundColor Green 
$Response = Read-Host "[Y] Yes, [N] No" 
    If($Response -eq "y") 
{Add-ADGroupMember -Identity Group -Member $user} 
write-host "Sit back and relax all task has been completed"  -ForegroundColor Green 
+0

응답 해 주셔서 감사합니다. 이 스크립트에는 다른 스크립트가 없습니다. 그것은 단지 일어나기 시작했습니다. 다른 아이디어? –

+0

위의 스크립트에서 사용자를 만들고? 변경 사항이 있으면 repadmin 수정을 사용할 수 있습니다. repadmin/showjobmeta dc01 "cn = user", ou = "someou", dc = "dc01"dc = "com"또한 감사를 활성화하고 변경 사항을 일으키는 로그를 볼 수도 있습니다 – DisplayName

0

당신이 작성해야 :

$homedrive = "Y:" 

대신 : 나는 Z와 같은 드라이브 매핑이 문제를 가지고 있었다

$homedrive = "Y" 
1

: 을 나는 비주얼 베이직을 사용하여 새 사용자를 만듭니다. net windows 응용 프로그램과 나는 M 대신 homedrive를 가지고 있었다.

내 문제가 해결되었습니다! PowerShell과 마찬가지로 vb.net에도 동일하게 적용됩니다.