Je reçois une erreur de conversion de la part de powershell lorsque j'exécute mon code. Je reçois un "Impossible de convertir l'argument" 0 ", avec la valeur:" Le sid de tout utilisateur est essayer ", pour OpenRemoteBasekey
.Quelqu'un peut-il regarder mon code et voir où je me suis trompéErreur lors de la conversion lors de l'appel de OpenRemoteBaseKey
Le script est censé donner moi une liste des imprimantes pour un utilisateur spécifique sur le domaine en consultant leurs entrées de registre. Je devais convertir leur nom d'utilisateur pour leur SID pour cartographier correctement leurs registres.
echo "What is the User name?"
$user = [Console]::ReadLine()
#Convert Given username into an SID variable
$sid = ([wmi]"win32_userAccount.Domain='mydomain',Name='$user'").sid
echo "What is it's ip address?"
#This can be an ip address or a host name
$ipuser = [Console]::ReadLine()
Write-Host "Check 1"
#Get Local printers
$Printers = @(Get-WmiObject win32_printer -computername $ipuser | Select Name)
#Get Network Printers
$Reg = [Microsoft.Win32.RegistryKey]::OpenRemoteBaseKey($sid, $ipuser)
$RegKey = $Reg.OpenSubkey('Printers\Settings')
$Printers += @($RegKey.GetValueNames())
#Output List of Printer
Write-Output $Printers |
ft -Property @{Name="Printer Name"; Expression={$_.Name}} -AutoSize
#Get Default Printer
$Reg = [Microsoft.Win32.RegistryKey]::OpenRemoteBaseKey($sid, $ipuser)
$RegKey= $Reg.OpenSubKey('Software\Microsoft\Windows NT\CurrentVersion\Windows')
$DefaultPrinter = $RegKey.GetValue("Device")
#Output the Default Printer
Write-Output $DefaultPrinter |
ConvertFrom-Csv -Header Name, Provider, Order |
Select Name |
ft -Property @{Name="Default Printer Name";Expression={$_.Name}} -AutoSize
Où avez-vous trouvé ce script? – Luke