Question SetSecurityDescriptor sur Win32_Printer

Plus d'informations
il y a 15 ans 10 mois #2292 par Lepertel
Bonjour,

Je dois réaliser un script permettant de positionner des permissions sur une imprimante Locale. Pour se faire, j'utilise le GetSecurityDescriptor de Win32_Printer, et je reccupere bien le AccessMask. Par contre, dés lors que j'essaye de modifier cette valeur avec un SetsecurityDescriptor, cela ne fonctionne pas.
Le script que j'utilise est décrit ci dessous. Si quelqu'un a une idée de pourquoi cela ne fonctionne pas, je suis preneur :)

Merci/Stéphane

[code:1]
$printer=get-WmiObject win32_Printer -filter \"name='Microsoft XPS Document Writer'\"
$printerSec=$printer.Getsecuritydescriptor()


$DACL=$PrinterSec.descriptor.DACL

for ($i = 0; $i -le ($DACL.length-1); $i += 1)
{
if ($DACL[$i].trustee.name -eq \"Everyone\"«»){$Everyone=$i}
}

$DACL[$Everyone].AccessMask
$DACL[$Everyone].AccessMask=\"983088\"

$return=$Printer.SetSecurityDescriptor()
$return
[/code:1]

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 15 ans 10 mois #2294 par Laurent Dardenne
Salut,
stephanel écrit:

Par contre, dés lors que j'essaye de modifier cette valeur avec un SetsecurityDescriptor, cela ne fonctionne pas.

As-tu un message d'erreur ou l'action est ineffective ?
As-tu regardé ce script ? Tu peux peut-être y trouver qq infos

Tutoriels PowerShell

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 15 ans 10 mois #2295 par Lepertel
Bonjour Laurent,

En fait, Return ne contient pas d'erreur, mais effectivement, la commande SetSecurityDescriptor semble ineffective.
J'ai regardé le script mais il n'y a pas de setsecuritydescriptor.
En fait c'est un script que j'ai trouvé en VBS (a base de get/setsecuritydescriptor) que j'essaye de traduire en powershell :(

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 15 ans 10 mois #2300 par Laurent Dardenne
Salut,
stephanel écrit:

la commande SetSecurityDescriptor semble ineffective.

D'après le SDK :

GetSecurityDescriptor
Returns the security descriptor that controls access to the printer. This method is available starting with Windows Vista.

Windows Server 2003, Windows XP, Windows 2000, and Windows NT 4.0: This method is not available.

Il faut donc utiliser Vista ou Ws 2008, est-ce ton cas ?

Une autre piste :
techsupt.winbatch.com/webcgi/webbatch.ex...torials+Printing.txt

Une approche full API : binaryworld.net/Main/Codedetail.aspx?CodeId=3664
:whistle:<br><br>Message édité par: Laurent Dardenne, à: 6/05/08 08:52

Tutoriels PowerShell

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.093 secondes
Propulsé par Kunena