DBD-WMI
view release on metacpan or search on metacpan
lib/DBD/WMI.pm view on Meta::CPAN
my $dbh = DBI->connect('dbi:WMI:');
my $sth = $dbh->prepare(<<WQL);
SELECT * FROM Win32_Printer
WQL
$sth->execute;
while (my @row = $sth->fetchrow) {
# We get Win32::OLE objects back:
my $printer = $row[0];
printf "Making %s the default printer\n", $printer->{Name};
$printer->SetDefaultPrinter;
};
=head2 Find all network adapters with IP enabled
SELECT * from Win32_NetworkAdapterConfiguration
WHERE IPEnabled = True
=head2 Find files in a directory
ASSOCIATORS OF {Win32_Directory.Name='C:\WINNT'}
WHERE ResultClass = CIM_DataFile
=head2 Find printers on a remote machine
use DBI;
my $machine = 'dawn';
my $dbh = DBI->connect('dbi:WMI:'.$machine);
my $sth = $dbh->prepare(<<WQL);
SELECT * FROM Win32_Printer
WQL
$sth->execute;
while (my @row = $sth->fetchrow) {
my $printer = $row[0];
printf "Making %s the default printer on %s\n", $printer->{Name}, $machine;
$printer->SetDefaultPrinter;
};
=head2 Get method names of objects
use Win32::OLE qw(in);
...
SELECT * FROM Win32_Process
$sth->execute;
while (my @row = $sth->fetchrow) {
for my $method (in $row[0]->Methods_) {
print "Can call $method() on the object\n"
};
};
=head1 TODO
=over 4
=item * Implement placeholders and proper interpolation of values
=item * Need to implement DSN parameters for remote computers, credentials
=back
=head1 SEE ALSO
WMI is Microsofts implementation of the WBEM standard (L<http://www.dmtf.org/standards/wbem/>) except that it uses DCOM and not CIM-XML as the transport medium.
The MS WMI main page at L<http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wmisdk/wmi/wmi_start_page.asp>
The WQL documentation at L<http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wmisdk/wmi/wql_sql_for_wmi.asp>
The "Hey Scripting Guy" column at L<http://www.microsoft.com/technet/scriptcenter/resources/qanda/default.mspx>
Wikipedia on WMI at L<http://en.wikipedia.org/wiki/Windows_Management_Instrumentation>
List of available Win32 WMI classes at L<http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wmisdk/wmi/win32_classes.asp>
=head1 REPOSITORY
The public repository of this module is
L<https://github.com/Corion/dbd-wmi>.
=head1 SUPPORT
The public support forum of this module is
L<https://perlmonks.org/>.
=head1 BUG TRACKER
Please report bugs in this module via the RT CPAN bug queue at
L<https://rt.cpan.org/Public/Dist/Display.html?Name=DBD-WMI>
or via mail to L<dbd-wmi-Bugs@rt.cpan.org>.
=head1 AUTHOR
Max Maischein C<corion@cpan.org>
=head1 COPYRIGHT (c)
Copyright 2009-2018 by Max Maischein C<corion@cpan.org>.
=head1 LICENSE
This module is released under the same terms as Perl itself.
=cut
( run in 1.197 second using v1.01-cache-2.11-cpan-5837b0d9d2c )