Sometimes
one has to ignore transitioning local users and groups when doing a 7MTT
assisted 7 to C transition, using the ignore-local-users-groups-transition 7MTT
CLI switch, but there might still be some requirement for local users and
groups.
In this following
scenario, we’re only interested in the domain members of essentially the built-in
local groups on the 7-Mode system, and we’re provided with a list of SIDs to
Domain User/Group*, as lines of -
SID;DOMAIN\USERorGROUP
- and we
also have the lug.txt file that was generated by 7MTT.
*Don’t have domain access, but would be quite
simple to add SID translation to the script.
The
following simple script will output the required Clustershell commands to
create the local groups memberships. Copy and paste into notepad as say local_groups_creator.ps1 and run
like>
.\local_groups_creator.ps1
-SIDsFile sids.txt -LUGfile lug.txt -Vserver VSERVERNAME
The Script
Param(
[Parameter(Mandatory=$true)][String]$SIDsFile,
[Parameter(Mandatory=$true)][String]$LUGfile,
[Parameter(Mandatory=$true)][String]$Vserver
)
$SIDtoUser = @{}
[System.Array]$SIDs =
Get-Content $SIDsFile
$SIDs | Foreach {
[System.Array]$S = $_.Split(";")
If($S.count -eq 2){
$SIDtoUser.($S[0]) = $S[1]
}
}
$Output = @()
$SIDtoGroup = @{}
[System.Array]$LUGs =
Get-Content $LUGfile
$LUGs | Foreach {
[System.Array]$S = $_.Split(",")
If($S.count -eq 9){
$SIDtoGroup.($S[3]) = $S[5]
}
If($S.count -eq 7){
If($SIDtoGroup.($S[3]) -and
$SIDtoUser.($S[5])){
$Output += ('local-group add-members
-group-name "' + $SIDtoGroup.($S[3]) + '" -vserver ' + $Vserver + '
-member-names "' + $SIDtoUser.($S[5]) + '"')
}
}
}
$Output
Note: This only creates ”local-group
add-members” commands for adding members to local groups that already exist on
the SVM (the BUILTIN groups.)
Hi, where do we get the lug.txt file? Does that come from 7mtt or somewhere else?
ReplyDeleteHi Dave, yes it comes from 7MTT. You'll find it in the 7MTT project folder at a location something like:
ReplyDeleteC:\Program Files\NetApp\7-Mode Transition Tool\data\cbt\transition-projects\PROJECT_NAME\LUG