Kasper Katzmann
asked on
Using a csv file to edit users dialin settings
I have a csv file (dialin.csv) that contains users who must have their dialin properties set in Active Directory. The list is formated like this (user;ip):
akr;10.3.86.34
lgt;10.3.86.76
jrv;10.3.86.23
and so on...
I have found this script (http://calumpowell.com/tag/dial-in/) and now I would like to use the csv file in combination with the script to update all the users in one operation.
Regards
Kasper
akr;10.3.86.34
lgt;10.3.86.76
jrv;10.3.86.23
and so on...
I have found this script (http://calumpowell.com/tag/dial-in/) and now I would like to use the csv file in combination with the script to update all the users in one operation.
function Convert-IP {
param(
[Parameter(ValueFromPipeline=$true)]
[String]$IPAddress = "127.0.0.1" )
$octetsDecimal = $IPAddress -split "\."
$octetsBinary = $octetsDecimal | % { [convert]::ToString($_, 2) }
$octetsBinary = $octetsBinary | % { ("0" * (8 - $_.length)) + $_ }
$octetsBinary | % { $binaryIP += $_ }
$integerIP = [convert]::ToInt32($binaryIP, 2)
return $integerIP
}
$IP = Convert-IP $staticip
Set-QADUser -Identity "Testuser" -IncludedProperties @("msNPAllowDialin", "msRADIUSFramedIPAddress", "msRASSave
Can anyone help me with this?Regards
Kasper
ASKER
Oops - Copy/Paste has failed. The last part (after the function) should be:
$IP = Convert-IP "10.20.30.40"
Set-QADUser -Identity "Testuser" -IncludedProperties @("msNPAllowDialin", "msRADIUSFramedIPAddress", "msRASSavedFramedIPAddress") -ObjectAttributes @{msNPAllowDialin=$true;msRADIUSFramedIPAddress=$IP;msRASSavedFramedIPAddress=$IP}
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
As far as I understand, I have to used titles in the first row? Not that it is a problem, just so I can understand.
Yes you are right.. you need to use the header of column from csv..
ASKER
Great. I test it first time tomorrow, when I get to work.
ASKER
I get this error when i try to run it:
Set-QADUser : Cannot validate argument on parameter 'Identity'. The argument is null or empty. Supply an argument that
is not null or empty and then try the command again.
At C:\scripts\UpdateDialInBasedOnCSV.ps1:21 char:22
+ Set-QADUser -Identity <<<< $_.user -IncludedProperties @("msNPAllowDialin", "msRADIUSFramedIPAddress", "msRASSavedFr
amedIPAddress") -ObjectAttributes @{msNPAllowDialin=$true;msRADIUSFramedIPAddress=$IP;msRASSavedFramedIPAddress=$IP}
+ CategoryInfo : InvalidData: (:) [Set-QADUser], ParameterBindingValidationException
+ FullyQualifiedErrorId : ParameterArgumentValidationError,Quest.ActiveRoles.ArsPowerShellSnapIn.Powershell.Cmdlet
s.SetUserCmdlet
ASKER
I have verified that I'm able to read the csv file
What is the result for Import-Csv "dialin.csv" | % {$_.User}
ASKER
Changed the ;'s with ,'s and now it almost works. I have made a sample csv containing my self and one other user. It changes the settings for my profile, but not for the other one. Here's the error returned:
Set-QADUser : Adgang nægtet.
At C:\scripts\UpdateDialInBasedOnCSV.ps1:21 char:12
+ Set-QADUser <<<< -Identity $_.user -IncludedProperties @("msNPAllowDialin", "msRADIUSFramedIPAddress", "msRASSavedFr
amedIPAddress") -ObjectAttributes @{msNPAllowDialin=$true;msRADIUSFramedIPAddress=$IP;msRASSavedFramedIPAddress=$IP}
+ CategoryInfo : NotSpecified: (:) [Set-QADUser], UnauthorizedAccessException
+ FullyQualifiedErrorId : System.UnauthorizedAccessException,Quest.ActiveRoles.ArsPowerShellSnapIn.Powershell.Cmdl
ets.SetUserCmdlet
ASKER
It returns the two users in my sample
ASKER
Ohh, and by the way. Set-QADUser : Adgang nægtet. means Set-QADUser : Access Denied.
UnauthorizedAccessExceptio n looks like permission error.. Did you try running PowerShell console with Run as administrator? Also make sure the account which you are using have permission to edit the attribute..
ASKER
It works. First I ran it as administrator. But I have to run it as Domain Admin, not just Local Admin - DOH! Maybe I should have stayed in bed...
Thanks a lot for takeing time to help.
/Kasper
Thanks a lot for takeing time to help.
/Kasper
No problem.. I'm glad I could help.. :-)
Also i think the code you posted is incomplete, what is the correct attribute name of "msRASSave" and the value you want to update?